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