3 回答
TA贡献1966条经验 获得超4个赞
这个循环没有任何 ,所以程序不能退出它:break
while (true){
String x = in.nextLine();
if (x.equals(" ")) continue;
lista.add(x);
}
可能你是想写的:
while (true){
String x = in.nextLine();
if (x.equals(" ")) break;
lista.add(x);
}
TA贡献1780条经验 获得超5个赞
如果您刚刚开始使用 Java 编程,请不要使用 ,即使有适当的休息时间也是如此。如果要在用户键入特定内容时停止读取输入,请对此进行测试:while(true)
Scanner in = new Scanner(System.in);
System.out.println("Enter strings (empty line to end):");
List<String> list = new ArrayList<String>();
String input = "";
while (!input.equals(" ")) { // If this is your break condition: test for it.
input = in.nextLine();
if (!input.equals(" ")) {
list.add(input);
}
}
检查两次吗?是的。是“低效”吗?不是你应该关心的事情,或者甚至可以在这种类型的代码中有意义地评论。它是否明确了此代码对人类读者应执行的操作?非常如此,这对于您将要编写的代码很重要。input
TA贡献1895条经验 获得超3个赞
通常,如果条件在编译时计算为 true(例如常量),则 while 循环后不能有代码,如果 while 之后有代码,则 while 循环必须具有某种中断语句。如果一段时间后没有代码,那就没问题了。while(true)
break;
while([condition])
添加回答
举报