Java 循环不止一次运行,不知道为什么
这可能是一个非常愚蠢的错误,但我似乎无法理解。当用户将选项设置为1以添加数据时,它应该以data>的形式弹出,然后他们插入数据。然而,它发布了data>data>显示循环运行了两次,但我不明白它如何能够运行两次,而不输入使其再次运行。代码的最后一部分太过复杂,当用户完成输入时,就无法中断循环Java 循环不止一次运行,不知道为什么,java,loops,if-statement,for-loop,Java,Loops,If Statement,For Loop,这可能是一个非常愚蠢的错误,但我似乎无法理解。当用户将选项设置为1以添加数据时,它应该以data>的形式弹出,然后他们插入数据。然而,它发布了data>data>显示循环运行了两次,但我不明白它如何能够运行两次,而不输入使其再次运行。代码的最后一部分太过复杂,当用户完成输入时,就无法中断循环 while (true) { System.out.print("Select choice: "); choice = s.nextInt(); if
while (true) {
System.out.print("Select choice: ");
choice = s.nextInt();
if (choice == 1) {
inner: for (i = 0; i < 100; i++, count2++) {
System.out.print("data>");
line[i] = s.nextLine();
if (line[i].equals("done")) {
break inner;
}
}
}
while(true){
系统输出打印(“选择选项:”);
choice=s.nextInt();
如果(选项==1){
内部:用于(i=0;i<100;i++,count2++){
系统输出打印(“数据>”);
第[i]行=s.nextLine();
如果(第[i]行等于(“完成”)){
打破内在;
}
}
}
问题是choice=s.nextInt();
留下一个尾随新行,该新行nextLine()
然后读取(作为一个空字符串
)。添加一个nextLine()
调用如下
choice = s.nextInt(); // <-- reads int value only.
s.nextLine(); // <-- consume trailing newline.
choice=s.nextInt();//是的,非常感谢。