[英]How can I output a single line of user input into multiple lines?
因此,基本上,我试图读取一行的用户输入,但是当我返回输入时,将其按空格分开。 例如:
用户输入:35 56 78 N
所需的输出:
35
56
78
ñ
到目前为止,我有:
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
ñ
由于您希望输入一行,因此为什么要使用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);
}
这是因为最后一个元素之间没有空格。 如果您有35 56 78 N,那么前三个将被注册,因为它们后面有空格,但N之后没有空格。我建议使用子字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.