написать программу, которая на входе через консоль принимает ФИО
Нужно написать программу, которая на входе через консоль принимает фамилию, имя и отчество одной строкой (например, «Иванов Сергей Петрович») и выводит фамилию, имя и отчество отдельно в формате, что я и сделала. Однако, теперь нужно сделать так, чтоб если из строки убрать, к примеру, фамилию, или добавить еще 1 слово, программа учитывала это, а не выдавала ошибку. К примеру, писала фразу: "У человека нет отчества".
public class Main
{
public static void main(String[] args)
{
String name = "Федоров Егор Алексеевич";
int spaceIndex = name.indexOf(' ');
int spaceIndex1 = name.lastIndexOf(' ');
System.out.println("Фамилия:\t" + name.substring(0, spaceIndex));
System.out.println("Имя:\t" + name.substring(spaceIndex, spaceIndex1));
System.out.println("Отчество:\t" + name.substring(spaceIndex1));
}
}
Ответы (1 шт):
Можете сделать проверку на количество введенных параметров:
if (name.split(" ").length == 2) {
System.out.println("У человека нет отчества");
}
split разделяет строку вокруг регулярного выражения. В этом примере разделяем строку по пробелам т.е. name.split(" ") вернет нам ["Федоров", "Егор", "Алексеевич"].
В if проверяем сколько получилось слов, если два - то выводим сообщение, что отчества нет.