我想要求用戶輸入多個名稱,用逗號分隔。然後我想分別分解名字。我正在將輸入讀入一個字符串,然後按''分隔。但是,只要用戶在逗號後輸入空格,但在下一個名稱之前輸入空格,程序就無法正常運行。見下文。如何在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