为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼啦一阵风 2022-06-30 17:56:23
我有一个 while 循环,它检测 sc.hasNext() 是否为真并接受输入的输入列表,将其一一添加到列表 textEditor 中。         while (sc.hasNext()) {            String line = sc.nextLine();            if (!(line.isEmpty())){                textEditor.addString(line);            }        }        sc.close();        textEditor.printAll();    }}但是,当我输入字符串列表时,例如onewordtwo wordsHello Worldhello World循环不会停止,并且不会调用 printAll() 方法。如何跳出while循环?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

语句中没有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");


查看完整回答
反对 回复 2022-06-30
?
慕容3067478

TA贡献1773条经验 获得超3个赞

您可以使用 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)


查看完整回答
反对 回复 2022-06-30
  • 2 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信