我寫了一個小程序,提示用戶輸入他們的第一個中間名和最後一個名字,然後嘗試找到每個空格並將空白後面的名稱存儲到新的String變量中。問題與子字符串方法
問題:我想在名稱的每個部分之前找到空格,以便我可以取每個相對名稱並將其存儲在一個新的String變量中,但我不確定哪裏出錯。
import java.util.Scanner;
public class Example
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String name = "",
firstName = "",
middleName = "",
lastName = "";
boolean isName = false;
while(!isName)
{
System.out.print("\nEnter your name as 'First Middle Last': ");
name = input.nextLine();
if(name.length() < 0)
{
System.out.print("\nEnter your name as 'First Middle Last': ");
name = input.nextLine();
System.out.print("Invalid input");
}
else isName = true;
}
for(int j = 0; j < name.length(); j++)
{
if(name.charAt(j) == ' ')
{
firstName = name.substring(0, j); // Start at 0 end at first white space
middleName = name.substring(j + 1, name.length());
lastName = name.substring(j + 1, name.length());
}
}
System.out.println("\nLast Name, First Name, Middle Name: " + lastName + firstName + middleName);
}
}
我得到這個樣子的
Enter your name as 'First Middle Last': Adam Thomas Smith
Last Name, First Name, Middle Name: SmithAdam ThomasSmith
任何建議,如何解決這個問題的輸出?
您的循環沒有多大意義。嘗試使用string.split(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-)來拆分空格字符。還要注意名字中帶有空格的名字或姓氏。 – Resorath
@Resorath這是一個Java問題。您正在鏈接到.NET文檔。 –
@StefanDollase oops! http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String- – Resorath