【发布时间】:2017-04-23 20:31:48
【问题描述】:
经过测试,我发现这个小循环永远不会结束:
Scanner scanner = new Scanner(System.in);
int c = 1; // initialize variable
// and then
while(c != 0){ // as long as its not 0
System.out.println("Enter a number: ");
c = scanner.nextInt(); // ask for a new value
}
这个循环发生在一个简单的程序中,我要求用户输入数字,存储它们,当他输入“0”时,它返回所有数字的总和。 (我将存储代码分开,与问题无关)
这个循环永远不会结束,事实上,我什至不能输入数字。
编辑: 显然,在 testing 时运行此循环不起作用。我在 main() 上试了一下,效果很好。感谢您的回答!
【问题讨论】:
-
有 no 无限循环,代码显示。当输入 0 时,循环将按预期终止。
-
你的问题是什么,你想解决什么问题?
-
欢迎来到 Stack Overflow。问题中的代码不完整。您需要提供指示
scanner类型的代码以及它如何获取其值。没有这些,只能根据假设回答您的问题。请咨询stackoverflow.com/help/mcve 以改进问题。 -
@OusmaneMahyDiaw 是。我用 JUnit 运行它,它甚至不要求一个数字。
-
在这种情况下,问题不在您的循环中 :) 您能否分享更多代码,以便我们了解问题的确切位置?
标签: java loops java.util.scanner infinite