java - 我的代码中出现 ArrayIndexOutOfBoundsException

标签 java android

Android 的 logcat 的输出通知我,在我的程序中的某个时刻抛出了 ArrayIndexOutOfBoundsException :

我之前为按钮设置了一个 boolean 值,该按钮用于测试目的。

这是认为错误所在的代码:

int hour = new Date().getHours();
int min = new Date().getMinutes();
int secs = new Date().getSeconds();
String date = hour + ":" + min+ ":" + secs;

b.setOnClickListener(new View.OnClickListener() {   

    @Override
    public void onClick(View v) {
        bSet = true;    
    }
});

while (date =="01:00:00" || bSet == true);
int randomNumber = rand.nextInt();
tv.setText(getResources().getString(ids[randomNumber]));

最佳答案

我认为你在最后一行有异常(exception)。 就在这里 ids[randomNumber]

您应该检查随机生成的数字,因为它可能大于 ids.length。 使用rand.nextInt(ids.length);它将生成从0到ids.length的随机数。

关于java - 我的代码中出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220808/

相关文章:

java - 坚持使用 hibernate/JPA

java - org.apache.shiro.session.mgt.DelegatingSession 实现要求 SessionKey 参数返回非空 sessionId

java - 安卓/Java : How to get last row value in sqlite?

android - 如何删除未启动的 AVD 数据

java - 为什么 Google Collections 中没有 SortedMultiset?

Java PhantomReference

java - PriorityQueue 类的标准行为是什么?

受 url 传播变化启发的 PHP 和服务器层次结构设计

android - 库 list 中是否需要 versionCode/versionName?

android - 从服务启动 Activity 花费的时间太长