Java 而循环不会停止运行
我有一个while循环,它应该在没有更多整数可读取时结束。出于某种原因,它会继续检查(或者至少我认为是这样),并且不会返回print语句。我的示例输入看起来像 2021223 在Java 而循环不会停止运行,java,while-loop,java.util.scanner,Java,While Loop,Java.util.scanner,我有一个while循环,它应该在没有更多整数可读取时结束。出于某种原因,它会继续检查(或者至少我认为是这样),并且不会返回print语句。我的示例输入看起来像 2021223 在hasNextLine()之前,我已经尝试过hasNextLine(),尝试/最终阻止并关闭扫描仪以及阅读论坛 如果我把问题的措辞/格式弄错了,或者如果还有其他资源我还没有找到,我希望得到一些反馈。我真的只是想学 public static void main(String[] args) { x = 0;
hasNextLine()
之前,我已经尝试过hasNextLine()
,尝试/最终阻止并关闭扫描仪以及阅读论坛
如果我把问题的措辞/格式弄错了,或者如果还有其他资源我还没有找到,我希望得到一些反馈。我真的只是想学
public static void main(String[] args) {
x = 0;
in = new Scanner(System.in);
while (in.hasNextInt()) {
x = in.nextInt();
reverse(x);
beautiful(x, reverse(x), y);
}
printCount(count);
}
在.hasNextInt()中,连续读取数据。所以你应该使用break;在您的要求完成后,在适当的条件下停止此操作。in.hasNextInt()连续读取数据。所以你应该使用break;在您的要求完成后,在适当的条件下停止此操作。在这些行之后
while (in.hasNextInt()) {
x = in.nextInt();
插入行
if (x == 0) break;
输入0
后,循环将停止-当然,您可以选择另一个数字作为停止,即。e<代码>-1在这些行之后
while (in.hasNextInt()) {
x = in.nextInt();
插入行
if (x == 0) break;
输入
0
后,循环将停止-当然,您可以选择另一个数字作为停止,即。e-1
我认为有很多方法可以解决这个问题,但我想到的是:
新扫描仪(in.nextLine())代码>
我认为有很多方法可以解决这个问题,但我想到的是:
新扫描仪(in.nextLine())代码>
您的输入应该以某种方式终止。1234和12345都是有效输入,因为扫描仪无法自行决定在何处结束。可以假设数字序列在windows上以EOF字符Ctrl-Z终止,在unix上以Ctrl-D终止
有关此方面的更多帮助,请查看此,您的输入应以某种方式终止。1234和12345都是有效输入,因为扫描仪无法自行决定在何处结束。可以假设数字序列在windows上以EOF字符Ctrl-Z终止,在unix上以Ctrl-D终止
有关此方面的更多帮助,请查看此当您从标准输入读取输入时,输入永远不会结束(扫描仪总是等待输入新输入)。您需要输入一些特殊的输入才能退出循环。添加非整数值会中断循环,例如
20 21 22 23 A
。当您从标准输入读取输入时,输入永远不会结束(扫描仪总是等待输入新的输入)。为了退出循环,您需要输入一些特殊的输入。添加非整数值将中断循环,例如代码> 20×21×23 A < /代码>。请考虑接受并支持对您有用的答案。请考虑接受并投票赞成对您有用的答案。