【发布时间】:2018-08-26 17:15:19
【问题描述】:
我的 Java 程序在for-loop 之后似乎卡住了。它没有陷入循环,但程序只是出于某种原因不想走得更远。但是它成功完成了循环:
public static void main(String[] args){
String[] command = new String[20];
Scanner a = new Scanner(System.in);
for (int i = 0; a.hasNext(); i++) {
command[i] = a.next();
System.out.println(i);
}
a.close();
System.out.println("asd");
}
如果您输入 1 个单词,该程序将打印出 "0",如果输入 2,则打印出"0 1",依此类推,但 System.out.println("asd") 永远不会执行,而且程序永远不会停止。
【问题讨论】:
-
将
a.hasNext();更改为i < command.length; -
没有成功,问题仍然存在,但还是谢谢 :)
-
你能告诉我们你的错误吗?如果您尝试Nikolas的代码,我相信这不会造成任何问题
-
我没有任何运行时错误或其他任何东西,代码不会停止运行,但 for 循环执行得很好。 Nikolas 的解决方案也是如此
-
@Oceanis:既然您可以使用
System.in,您必须向控制台提供输入 - 是吗?程序在command[i] = a.next()行停止,直到出现输入。
标签: java arrays string for-loop