所以基本上,我试图读取单行的用户输入,但是当我返回输入时将其按空格分割。例如:
用户输入: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/