最终目标是接受多行用户输入,并将其组合到一个单独的字符串中,以便稍后在代码中使用。当我使用下面的代码时,每一条正弦线都被完美地打印为输出。但是,当我使用注释代码时,我的最终结果是不正确的。
System.out.println("Enter a string: ");
StringBuilder sb1 = new StringBuilder();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
    System.out.println(scanner.nextLine());
    // String line = scanner.nextLine();
    // sb1.append(line);
}
// System.out.println(sb1.toString());发布于 2019-03-27 12:28:11
我假设您想要的是在每次输入之后都有一个新行,所以在
sb1.append(line);
添加
sb1.append(System.getProperty("line.separator"));
编辑:(因为我不知道如何在注释中发布代码)这基本上会一直要求输入,直到用户输入"exit“,然后它将从while循环中断并打印出字符串。您可以在附加行后附加逗号或空格来分隔它们。
我不确定您最初的问题是因为您没有中断循环,还是因为您在打印中调用了两次nextLine并将其赋给了line
    public static void main(String[] args) {
        System.out.println("Enter a string: ");
        StringBuilder sb = new StringBuilder();
        try (Scanner scanner = new Scanner(System.in)) {
            String input;
            while (!(input = scanner.nextLine()).equals("exit")) {
                sb.append(input);
            }
        }
        System.out.println(sb.toString());
    }发布于 2019-03-27 12:47:03
你可以试试这个。
private static String readFile(String pathname) throws IOException {
 File file = new File(pathname);
    StringBuilder fileContents = new StringBuilder((int)file.length());        
    try (Scanner scanner = new Scanner(file)) {
        while(scanner.hasNextLine()) {
            fileContents.append(scanner.nextLine() );
        }
        return fileContents.toString();
    }
}这段代码将读取文本文件中的所有行,并将其作为单个字符串作为返回对象。
发布于 2019-03-27 12:56:25
下面是供您参考的pom.xml文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                        http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>json_example</groupId>
  <artifactId>json_example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>javax.json</groupId>
        <artifactId>javax.json-api</artifactId>
        <version>1.1.4</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.1.4</version>
    </dependency>
  </dependencies>
</project>然后将maven依赖的jar文件添加到类路径中。
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
public static void main(String[] args) {
    System.out.println("Enter a valid JSON string: ");
    try (// Create JsonReader from Json.
        JsonReader reader = Json.createReader(System.in)) {
        // Get the JsonObject structure from JsonReader.
        JsonObject jsonObj = reader.readObject();
        System.out.println(jsonObj.toString());
    } catch (Exception e) {
        e.printStackTrace();
    }
}https://stackoverflow.com/questions/55369747
复制相似问题