簡體   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