这可能是一个非常愚蠢的错误,但我似乎无法弄明白。当用户将选项设置为1以添加数据时,它应该弹出为数据>然后他们插入他们的数据。但是,它会发布数据>数据>显示循环运行两次,但我不明白它如何运行两次而不输入输入以使其再次运行。代码的最后一部分是在用户完成输入完成后完成循环。
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;
}
}
}
答案 0 :(得分:1)
问题是choice = s.nextInt();
会留下nextLine()
然后读取的尾随换行符(作为空String
)。添加nextLine()
这样的电话,
choice = s.nextInt(); // <-- reads int value only.
s.nextLine(); // <-- consume trailing newline.