Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по программированию. Нужно сделать код на языке Java. Желательно, как можно проще

Иван Каштанов Ученик (99), на голосовании 1 месяц назад
1.1.3 Имена. Создайте сущность Имя, которая описывается тремя параметрами: Фамилия, Личное имя, Отчество.
Имя может быть приведено к строковому виду, включающему традиционное представление всех трех параметров: Фамилия Имя Отчество (например “Иванов Иван Иванович”).
Необходимо предусмотреть возможность того, что какой-либо из параметров может быть не задан, и в этом случае он не учитывается при приведении к текстовому виду.
Необходимо создать следующие имена:
• Клеопатра
• Пушкин Александр Сергеевич
• Маяковский Владимир
Обратите внимание, что при выводе на экран, не заданные параметры никак не участвуют в образовании строки.
Голосование за лучший ответ
Артур Фабилов Профи (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); // Маяковский Владимир
}
}
ᴊäɢᴇʀᴍᴇɪsᴛᴇʀМудрец (15835) 2 месяца назад
Конечно не уверен, ГПТ же только и может г-вно нерабочее изрыгать
ПапаВысший разум (144970) 2 месяца назад
Особенно умиляет trim(). Типа "я тут уже сам не в состоянии понять, где нагадил лишним пробелом, так что отрежу все пробелы". Почерк тупого дилетанта. Неудивительно, что говносеть скопировала именно такое решение, ведь у неё с дилетантами-говнокодерами много общего.
Александр Искусственный Интеллект (303499) 2 месяца назад
"личное имя"? теперь в руская языка так говорят?
Похожие вопросы