从 Java 中的控制台读取多行,最后一行有问题
Read multiple lines from console in Java, issue with last line
我想从控制台加载多行。我将文本粘贴到控制台,此文本有更多行。最后一行不想加载,因为缺少 \n。我无法在控制台中添加 \n,因为当我粘贴它时,它会立即运行。另一个问题是 while 不想结束。它会加载除最后一行之外的所有内容并且不会结束。
Scanner input = new Scanner(System.in);
List<String> lines = new ArrayList<String>();
String lineNew;
while (input.hasNextLine()) {
lineNew = input.nextLine();
System.out.println(lineNew);
lines.add(lineNew);
}
您应该按 ctrl+z(ctrl+d) 终止它。
如果您的输入太短,您可以添加一个检查,如果是,则中断。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Lines {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<String> lines = new ArrayList<String>();
String lineNew;
while (input.hasNextLine()) {
lineNew = input.nextLine();
if (lineNew.isEmpty()) {
break;
}
System.out.println(lineNew);
lines.add(lineNew);
}
System.out.println("Content of List<String> lines:");
for (String string : lines) {
System.out.println(string);
}
}
}
我想从控制台加载多行。我将文本粘贴到控制台,此文本有更多行。最后一行不想加载,因为缺少 \n。我无法在控制台中添加 \n,因为当我粘贴它时,它会立即运行。另一个问题是 while 不想结束。它会加载除最后一行之外的所有内容并且不会结束。
Scanner input = new Scanner(System.in);
List<String> lines = new ArrayList<String>();
String lineNew;
while (input.hasNextLine()) {
lineNew = input.nextLine();
System.out.println(lineNew);
lines.add(lineNew);
}
您应该按 ctrl+z(ctrl+d) 终止它。
如果您的输入太短,您可以添加一个检查,如果是,则中断。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Lines {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<String> lines = new ArrayList<String>();
String lineNew;
while (input.hasNextLine()) {
lineNew = input.nextLine();
if (lineNew.isEmpty()) {
break;
}
System.out.println(lineNew);
lines.add(lineNew);
}
System.out.println("Content of List<String> lines:");
for (String string : lines) {
System.out.println(string);
}
}
}