java - 如何将单行用户输入输出为多行?

标签 java intellij-idea

所以基本上,我试图读取单行的用户输入,但是当我返回输入时将其按空格分割。例如:

用户输入:35 56 78 N

期望的输出:

35

56

78

N

到目前为止,我已经:

import java.util.Scanner;
public class GeographicCoordinatesExtractor {
    public static void main(String[] args) {
        System.out.println("Hello and welcome to my program");
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter geographical coordinates: ");
        String data = sc.next();
        sc.useDelimiter(" ");
        String value = data.split(" ")[0];

        while (sc.hasNext()) {
            String sec = sc.next();

            System.out.println(value + "\n" + sec );
        }

    }}

我得到: 35

56

35

78

而不是:

35

56

78

N

最佳答案

由于您想要单行作为输入,为什么要使用 Scanner#next
只需选择 Scanner#nextLine,然后拆分结果,并循环生成的 String 数组即可。

final String data = sc.nextLine();                  // 35 56 78 N
final String[] values = data.trim().split(" ");     // [35, 56, 78, N]

for (final String v : values) {
    System.out.println(v);
}

关于java - 如何将单行用户输入输出为多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54718511/

相关文章:

java - Android:无法解析 AsyncTask 中的方法 'findViewById(int)'

android - 插件 Android 支持中的异常 - IntelliJ IDE fatal error

java进程构建器添加环境路径不起作用

java - 解析 Set<String> 并基于公共(public)分隔符创建新的 Set<String>

java - 无法在父级或祖先上下文中找到方法

java - Tomcat - UnsupportedClassException

java - 如何将字符串添加到两个字符串之间的数组列表中

java - 从音频 PCM 16 位到 8 位 - 有噪音

java - 更改、修改和重新打包 CXF-API 源文件

android - Intellij Idea 13 在编写 Android 应用程序时找不到 Hierarchy Tools