接受所有输入后如何跳出while循环?

我有一个 while 循环,它检测 sc.hasNext() 是否为真并接受输入的输入列表,将其一一添加到列表 textEditor 中。


         while (sc.hasNext()) {

            String line = sc.nextLine();

            if (!(line.isEmpty())){

                textEditor.addString(line);

            }

        }

        sc.close();

        textEditor.printAll();

    }

}

但是,当我输入字符串列表时,例如


oneword

two words

Hello World

hello World

循环不会停止,并且不会调用 printAll() 方法。如何跳出while循环?


呼啦一阵风
浏览 145回答 2
2回答

泛舟湖上清波郎朗

语句中没有break,while所以你进入无限循环。我用一个简单的System.out.println. 看一下新的while条件,当接收到一个空字符串时它会退出while语句:Scanner sc = new Scanner(System.in);String line;while (!(line = sc.nextLine()).isEmpty()) {    System.out.println("Received line : " + line);    //textEditor.addString(line);}sc.close();System.out.println("The end");

慕容3067478

您可以使用 break 语句跳出循环:    while (sc.hasNextLine()) {        String line = sc.nextLine();        if (!(line.isEmpty())){            textEditor.addString(line);        } else {            break;        }    }    textEditor.printAll();(顺便说一句,不要关闭标准输出、标准错误或标准输入,即在 Java 中:System.out、System.err 和 System.in)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java