[英]sorting strings on java
我必須以名字/名字/姓氏/名字/姓氏的格式詢問用戶的名字,然后按姓氏/名字/名字/名字排序。 使用我的代碼,我可以訪問名字,名字和姓氏並對其進行排序,但是我找不到訪問名字的方法。 我如何獲取該字符串並將其顯示在system.out.println上?
public static void getNameInOfficialFormat(String name) {
int index = name.indexOf(" ");
int secondIndex = name.lastIndexOf(" ");
String secondLastName = "";
String secondName = "";
for (int i = index+1; i < name.length(); i++) {
if (name.charAt(i)==' ') {
break;
}else{
secondName= secondName.concat(""+name.charAt(i));
}
}
for (int i = secondIndex+1; i < name.length(); i++) {
if (name.charAt(i)==' ') {
break;
}else{
secondLastName= secondLastName.concat(""+name.charAt(i));
}
}
String nameOfUser="";
for (int i = 0; i < name.length(); i++) {
if (name.charAt(i)==' ') {
break;
}else{
nameOfUser= nameOfUser.concat(""+name.charAt(i));
}
}
System.out.println("Sorted name: " + "\n" +secondLastName + " " + nameOfUser + " " + secondName);
}
如果用戶使用諸如John William Doe Jones之類的字符串調用該方法,則可以使用如下所示的split方法:
String[] names = name.split(" ");
知道他會按順序傳遞它們,那么您將獲得一個數組,其中將按順序包含每個名稱,然后您可以根據需要對其進行排序。 您可以這樣打印:
System.out.println("Sorted Name:\n" + names[3] + " " + names[0] + " " + names[1] + " " + names[2]);
這將打印Jones John Doe William。 我不確定您要如何輸出,但names [0]基本上是John(名字),names [1]是William(第二名字),names [2]是Doe(姓),names [3]是Jones (第二個姓氏)。
我希望這有幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.