使用用户';s输入字符串并在Java中拆分它
我想从用户那里获取输入,在本例中是他们的全名,并使用.split(“”)命令将其拆分为2或3个部分,具体取决于名称的数量,然后在不同的行上打印结果: 比如说, 用户输入: “约翰·多伊·史密斯” 程序返回: 约翰 母鹿 史密斯 目前,我的代码如下所示:使用用户';s输入字符串并在Java中拆分它,java,string,split,java.util.scanner,Java,String,Split,Java.util.scanner,我想从用户那里获取输入,在本例中是他们的全名,并使用.split(“”)命令将其拆分为2或3个部分,具体取决于名称的数量,然后在不同的行上打印结果: 比如说, 用户输入: “约翰·多伊·史密斯” 程序返回: 约翰 母鹿 史密斯 目前,我的代码如下所示: import java.util.Scanner; public class Task2 { public static void main(String[] args) { Scanner input = new Sca
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));
}
}
当前只返回名称的第一部分
程序还应该能够处理没有中间名的人。检查,next()方法返回输入流的下一个标记。不是整行。
input.next()
只返回第一个遇到空格前的第一个字符串,请尝试input.nextLine()
这可能也可以
执行为,例如java-jar SplitTest.jar
public class SplitTest {
public static void main(String[] args) {
String name = "";
for (String arg : args) {
name = arg;
System.out.println(name);
}
}
}
非常感谢你!如何将其打印到不同的行?循环(字符串部分:部分){System.out.println(部分);}的
parts
arrayfor(字符串部分:部分)}
如何使其能够处理2个名称而不是3个名称?它将工作,无论您拥有多少令牌。这描述了问题,而不是解决方案
public class SplitTest {
public static void main(String[] args) {
String name = "";
for (String arg : args) {
name = arg;
System.out.println(name);
}
}
}