1 回答
TA贡献1802条经验 获得超5个赞
您的 for 循环尝试访问列表中尚不存在的值。这就是为什么你得到一个IndexOutOfBoundsException.
如果您将 for 循环中的测试表达式替换为检查列表大小的内容,而不是将其硬编码为 5,它将起作用:
for (int i = 0; i < to_do.size(); i++)
您可以使用break. 在将输入添加到列表之前检查输入,首先将其分配给局部变量。例如,如果它是一个空格(作为用户没有任何进一步输入的信号),则从 while 循环中执行中断。
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();
}
}
添加回答
举报