从 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);
        }
    }
}