Артур Фабилов
Профи
(707)
2 месяца назад
Попробуй, но я не уверен, что будет всё работать правильно:
class Name {
private String lastName;
private String firstName;
private String middleName;
// Конструктор для фамилии, имени и отчества
public Name(String lastName, String firstName, String middleName) {
this.lastName = lastName;
this.firstName = firstName;
this.middleName = middleName;
}
// Конструктор для имени и фамилии (без отчества)
public Name(String lastName, String firstName) {
this(lastName, firstName, null);
}
// Конструктор для имени (без фамилии и отчества)
public Name(String firstName) {
this(null, firstName, null);
}
// Метод для получения строкового представления
@Override
public String toString() {
StringBuilder result = new StringBuilder();
if (lastName != null) {
result.append(lastName).append(" ");
}
if (firstName != null) {
result.append(firstName).append(" ");
}
if (middleName != null) {
result.append(middleName);
}
return result.toString().trim(); // Удаление лишних пробелов
}
public static void main(String[] args) {
Name name1 = new Name("Клеопатра");
Name name2 = new Name("Пушкин", "Александр", "Сергеевич");
Name name3 = new Name("Маяковский", "Владимир");
System.out.println(name1); // Клеопатра
System.out.println(name2); // Пушкин Александр Сергеевич
System.out.println(name3); // Маяковский Владимир
}
}
ПапаВысший разум (144970)
2 месяца назад
Особенно умиляет trim(). Типа "я тут уже сам не в состоянии понять, где нагадил лишним пробелом, так что отрежу все пробелы". Почерк тупого дилетанта. Неудивительно, что говносеть скопировала именно такое решение, ведь у неё с дилетантами-говнокодерами много общего.
Имя может быть приведено к строковому виду, включающему традиционное представление всех трех параметров: Фамилия Имя Отчество (например “Иванов Иван Иванович”).
Необходимо предусмотреть возможность того, что какой-либо из параметров может быть не задан, и в этом случае он не учитывается при приведении к текстовому виду.
Необходимо создать следующие имена:
• Клеопатра
• Пушкин Александр Сергеевич
• Маяковский Владимир
Обратите внимание, что при выводе на экран, не заданные параметры никак не участвуют в образовании строки.