首页 > 解决方案 > Java - 如何在一个输入中输入多行文本

问题描述

我目前正在用 Java 编写一个程序,我需要从用户那里获取输入,这是一段文本。但是,我需要用户能够一次输入多段文本。这可以通过在程序提示输入时简单地粘贴整个文本来实现。我正在使用扫描仪进行输入,当我将多个段落粘贴到输入中时,不会抛出任何错误,但是每当我打印出存储文本的变量时,只有第一部分(在第一个换行符之前)是输出。如何在不提示用户为每个文本块单独输入的情况下存储具有多个换行符的整段文本?

我已经有一些代码,但它不能处理多行:

import java.util.*;

public class ReWrite {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please paste the essay to be re-written >> ");
    String originalEssay = scanner.nextLine();
    System.out.println(originalEssay);
    System.out.println("I hope that was your essay...");
  }
}

标签: javainputline-breaks

解决方案


您需要有一种方法让用户指示他何时完成输入数据。

在此之前,取最新的输入行并保存。从一个空字符串开始并附加每一行输入的文本,直到用户用一些预先确定的字符集指示他完成了。


推荐阅读