Я должен попросить пользователя указать его имя в формате имени, имени/имени/фамилии/второй фамилии и отсортировать его по фамилии/имени/имени/имени. С моим кодом я могу получить доступ и сортировать имя второго имени и второе имя, но я не могу найти способ доступа к первой фамилии. Как я могу добраться до этой строки и показать ее на 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);
}
Я бы начал с исправления вашего форматирования, чтобы сделать его более читаемым. Вам нужна небольшая часть строк, а построение String с помощью StringBuilder - более чистая. –
Не могли бы вы прояснить введенные пользователем программы пользователем? Является ли пользователь вводить свое имя, второе имя и фамилию независимо и в порядке? – Zulfe
Пользователь вводит свое имя, второе имя, фамилию и вторую фамилию. Это порядок, который у них программа – David