我想要求用户输入多个名称,用逗号分隔。然后我想分别分解名字。我正在将输入读入一个字符串,然后按''分隔。但是,只要用户在逗号后输入空格,但在下一个名称之前输入空格,程序就无法正常运行。见下文。如何在java中的多个项目中读取逗号后忽略空格
import java.util.Scanner;
public class getInput {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Please enter names seperated by a ',':> ");
String testInput = sc.nextLine();
String[] names = testInput.split(",");
for (String name : names) {
String[] partialName = name.split(" ");
if (partialName[0].equals(" ")){
if (partialName.length == 4) {
System.out.println("Should be a space: " + partialName[0]);
System.out.println("First Name: " + partialName[1]);
System.out.println("Middle Name: " + partialName[2]);
System.out.println("Last Name: " + partialName[3]);
} else {
System.out.println("First Name: " + partialName[1]);
System.out.println("Last Name: " + partialName[2]);
}
}
else {
if (partialName.length == 3) {
System.out.println("First Name: " + partialName[0]);
System.out.println("Middle Name: " + partialName[1]);
System.out.println("Last Name: " + partialName[2]);
} else {
System.out.println("First Name: " + partialName[0]);
System.out.println("Last Name: " + partialName[1]);
}
}
}
sc.close();
}
}
例如:
Please enter names seperated by a ',':> Joe Smith, Jack Sparrow Doe,Steve Parker
First Name: Joe
Last Name: Smith
First Name:
Last Name: Jack
First Name: Steve
Last Name: Parker
在我看来,就像是在读那个人的名字第一个逗号后面的空格。我该如何解决?
这样做的窍门,谢谢。 – Tyler
没问题,你能将我的答案标记为你的问题的解决方案吗? – Koche