繁体   English   中英

我的代码中出现了ArrayIndexOutOfBoundsException

[英]I get an ArrayIndexOutOfBoundsException in my code

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

我认为您在最后一行有例外。 正是在这里ids[randomNumber]

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

为了更好的实践改变

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

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

并更改int randomNumber = rand.nextInt();

作为int randomNumber = rand.nextInt(ids.length);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM