以用户的输入字符串并将其拆分为Java
问题描述:
我希望从用户那里获取输入,在这种情况下,他们的全名与.split(“”)命令分成2或3个部分,具体取决于名字的号码,然后打印出结果在不同线路上:以用户的输入字符串并将其拆分为Java
例如,
用户输入:
“李四史密斯”
程序返回:
约翰
李四
史密斯
目前,我的代码如下所示:
import java.util.Scanner;
public class Task2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name;
System.out.println("Enter your full name: ");
name = input.next();
String[] parts = name.split(" ");
System.out.println(java.util.Arrays.toString(parts));
}
}
这目前仅返回名称的第一部分。
该方案还应该能够应付没有一个中间名的人。
答
input.next()
返回第一个遇到的空格前的第一个字符串,尝试input.nextLine()
答
import java.util.Scanner;
public class Task2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name;
System.out.println("Enter your full name: ");
while (input.hasNext()) {
name = input.next();
String[] parts = name.split(" ");
System.out.println(java.util.Arrays.toString(parts));
}
}
}
答
这也将工作,也许。
执行的作为例如Java的罐子SplitTest.jar东西空
public class SplitTest {
public static void main(String[] args) {
String name = "";
for (String arg : args) {
name = arg;
System.out.println(name);
}
}
}
非常感谢您!我怎样才能打印到不同的行? – Nawlidge
环路的'parts'阵列上 '为(字符串部分:份){ 的System.out.println(部分); }' –
什么使得它,所以它可以处理2名,而不是3? – Nawlidge