1 回答

TA貢獻1802條經(jīng)驗 獲得超5個贊
您的 for 循環(huán)嘗試訪問列表中尚不存在的值。這就是為什么你得到一個IndexOutOfBoundsException.
如果您將 for 循環(huán)中的測試表達式替換為檢查列表大小的內(nèi)容,而不是將其硬編碼為 5,它將起作用:
for (int i = 0; i < to_do.size(); i++)
您可以使用break. 在將輸入添加到列表之前檢查輸入,首先將其分配給局部變量。例如,如果它是一個空格(作為用戶沒有任何進一步輸入的信號),則從 while 循環(huán)中執(zhí)行中斷。
String input = user_input.nextLine();
if (" ".equals(input) || i == 4) {
break;
}
to_do.add(input);
如果你想一次只打印 4 個條目,它看起來像這樣:
System.out.println("Your list for today is: " + "\n");
for (int page = 0; page <= (to_do.size() / 4); page++) {
for (int offset = 0; offset + page * 4 < to_do.size() && offset < 4; offset++) {
System.out.println(to_do.get(page * 4 + offset));
}
user_input.nextLine();
}
}
添加回答
舉報