如何在java中退出scanner.hasNextLine()循环

如何在java中退出scanner.hasNextLine()循环,java,user-interface,arraylist,while-loop,java.util.scanner,Java,User Interface,Arraylist,While Loop,Java.util.scanner,我想从包含多行的终端读取以下输入(作为单个流) INSERT KEY adam key TURN KEY adam ENTER HOUSE adam INSERT KEY pat foobar TURN KEY pat ENTER HOUSE pat WHO'S INSIDE? 我使用以下代码读取它们并将其添加到数组列表中 ArrayList<String> instructions_list = new ArrayList<String>(); String in

我想从包含多行的终端读取以下输入(作为单个流)

INSERT KEY adam key
TURN KEY adam
ENTER HOUSE adam
INSERT KEY pat foobar
TURN KEY pat
ENTER HOUSE pat
WHO'S INSIDE?
我使用以下代码读取它们并将其添加到数组列表中

 ArrayList<String> instructions_list = new ArrayList<String>();
 String input_line = "";
 while (sc.hasNextLine()) {
     input_line = sc.nextLine();
     instructions_list.add(input_line);
     System.out.println(input_line);
 }

System.out.println("Outside Loop");
ArrayList指令\u list=new ArrayList();
字符串输入_行=”;
while(sc.hasNextLine()){
input_line=sc.nextLine();
说明列表。添加(输入行);
系统输出打印LN(输入线);
}
System.out.println(“外部循环”);
这可以正确地逐行打印。但它似乎没有超出while循环。如何退出while循环并运行下一行代码


请提供您的建议。

您必须提供一个退出条件,循环应在该退出条件下终止,即在使用某些固定数量的行或遇到某些特定单词后终止

或者您可以尝试:

ArrayList<String> instructions_list = new ArrayList<String>();
 String input_line = "";
 while (sc.hasNextLine()) {
     input_line = sc.nextLine();
     if(input_line.equals(""))
        break;
     instructions_list.add(input_line);
     System.out.println(input_line);
ArrayList指令\u list=new ArrayList();
字符串输入_行=”;
while(sc.hasNextLine()){
input_line=sc.nextLine();
if(输入_行等于(“”)
打破
说明列表。添加(输入行);
系统输出打印LN(输入线);

当遇到空行时,循环将终止

您必须提供一个退出条件,在该条件下,循环应终止,即在获得固定数量的行后或遇到特定单词后等

或者您可以尝试:

ArrayList<String> instructions_list = new ArrayList<String>();
 String input_line = "";
 while (sc.hasNextLine()) {
     input_line = sc.nextLine();
     if(input_line.equals(""))
        break;
     instructions_list.add(input_line);
     System.out.println(input_line);
ArrayList指令\u list=new ArrayList();
字符串输入_行=”;
while(sc.hasNextLine()){
input_line=sc.nextLine();
if(输入_行等于(“”)
打破
说明列表。添加(输入行);
系统输出打印LN(输入线);

遇到空行时,循环将终止

根据您的操作系统,在控制台上键入Ctrl/d或Ctrl/z。如何在控制台上输入包含换行符的文本?不必输入一行,然后按enter键吗?根据您的操作系统,在控制台上键入Ctrl/d或Ctrl/z。如何在控制台中输入包含换行符的文本?不需要输入一行,然后按enter键吗?