我的代码中出现了ArrayIndexOutOfBoundsException

时间:2014-01-19 18:28:18

标签: java android

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

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

这是相信错误所在的代码:

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]));

2 个答案:

答案 0 :(得分:2)

我认为你在最后一行有例外。 正好在ids[randomNumber]

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

答案 1 :(得分:1)

为了更好地改变实践

while (date =="01:00:00" || bSet == true);

as

while (date.equals("01:00:00") || bSet)

并将int randomNumber = rand.nextInt();改为int randomNumber = rand.nextInt(ids.length);