Академический Документы
Профессиональный Документы
Культура Документы
высшего образования
«Саратовский государственный технический университет
имени Гагарина Ю.А.»
КОНТРОЛЬНАЯ РАБОТА
Саратов 2021
Целью работы является формирование компетенции ОПК-2: способность
использовать современные информационные технологии и программные
средства, в том числе отечественного производства, при решении задач
профессиональной деятельности
Для формирования компетенции необходимо осуществить решение задачи
объектно-ориентированного программирования с использованием языка
программирования Java в соответствии с вариантом 6.
Описание задачи:
Имена. Необходимо разработать сущность Имя, которая описывается тремя
параметрами: Фамилия, Личное имя, Отчество. Имя может быть приведено к
строковому виду, включающему традиционное представление всех трех
параметров, например “Иванов Иван Иванович”. Необходимо предусмотреть
возможность того, что какой-либо из параметров может быть не задан, и в
этом случае он не учитывается при приведении к текстовому виду.
Создание имени можно выполнить следующими способами:
Имя можно создать указав только Личное имя
Имя можно создать указав Личное имя и Фамилию.
Имя можно создать указав все три параметра: Личное имя, Фамилию,
Отчество.
Гарантируйте, что:
Личное имя никогда не может быть пустым. Пустым считается
отсутствие строки, или пустая строка. При попытке задать пустое
значение выбрасывается ошибка с соответствующим текстом.
Фамилия и Отчество могут быть пустыми только до первого
присвоения, после этого они всегда должны иметь непустое значение.
Пустым считается отсутствие строки, или пустая строка. При попытке
задать пустое значение выбрасывается ошибка с соответствующим
текстом.
Все три параметра могут быть получены и изменены в любой момент.
Необходимо создать следующие имена:
Клеопатра
Александр Сергеевич Пушкин
Владимир Маяковский
Христофор Бонифатьевич (здесь Бонифатьевич это отчество, а
Христофор - имя)
Продемонстрируйте работоспособность требований на примерах.
Решение:
while (!input.equals(EXIT)) {
switch (input) {
case VIEW: {
printNames(names);
break;
}
case ADD: {
addName(names, in);
break;
}
case MODIFY: {
modifyName(names, in);
break;
}
case HELP: {
}
default: {
printHelp();
break;
}
}
input = in.nextLine();
}
if (names.isEmpty()){
System.out.println("No names to modify");
return;
}
int id;
try {
id = Integer.parseInt(nameId);
} catch (NumberFormatException e) {
System.out.println("Put correct number");
modifyName(names, in);
return;
}
if (id < 0 || id >= names.size()) {
System.out.println("Put correct number");
modifyName(names, in);
return;
}
try {
FullName name = names.get(id);
name.setPersonalName(personalName);
name.setFathersName(fathersName);
name.setSurname(surname);
System.out.println(name + " is updated");
} catch (IncorrectNameException e) {
System.out.println(e.getMessage());
}
}
Главный метод:
@Override
public String toString() {
return personalName + (fathersName != null ? " " + fathersName : "") +
(surname !=null ? " " + surname : "");
}
Enter surname:
Клеопатра is added
add
Enter personal name:
Александр
Enter fathers name:
Сергеевич
Enter surname:
Пушкин
Александр Сергеевич Пушкин is added
add
Enter personal name:
Владимир
Enter fathers name:
Enter surname:
Маяковский
Владимир Маяковский is added
add
Enter personal name:
Христофор
Enter fathers name:
Бонифатьевич
Enter surname: