循环运行不止一次,不知道为什么会这样


这可能是

一个非常愚蠢的错误,但我似乎无法弄清楚。 当用户将选项设置为 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.

最新更新