名前の姓/名/姓/姓の形式でユーザーに名前を尋ね、姓/名/姓/名で並べ替える必要があります。私のコードでは、私はアクセスして、ファーストネームのセカンドネームとセカンドラストネームをソートすることができますが、私は最初の最後の名前にアクセスする方法を見つけることができません。どうすればその文字列に行き、それをsystem.out.printlnに表示できますか?Javaで文字列を並べ替える
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);
}
に役立ちます願っています。ラインの一部が必要になり、StringBuilderでStringを構築することはよりクリーンです。 –
ユーザーがプログラムの意図した入力を明確にしてください。ユーザーは自分の名前、氏名、姓を独立して順番に入力していますか? – Zulfe
ユーザーは、姓、名、姓および姓を入力しています。それは彼らがプログラムを持っている順序です – David