report_lab7
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Разработка защищенного программного обеспечения
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №7
Коллекции
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студент:
(Ф.И.О., № группы) (подпись)
Преподаватель:
Цветков А.Ю.
(Ф.И.О) (подпись)
Цель лабораторной работы
Получить навыки работы со стандартными структурами данных в Java
Используемое программное обеспечение
JDK 1.5 и выше.
Интегрированная среда разработки на Java.
Задание на лабораторную работу
Создать небольшой словарь на основе Map, ключ которого – слово на одном языке, а значение – список List вариантов перевода этого слова на другой язык
Проверить работу словаря
Собрать исполняемый jar и отправить на проверку
Приложение должно обрабатывать аргументы командной строки и выводить на экран результирующий объект списка List вызовом метода toString()
Приложение должно обязательно иметь переводы, указанные в задании. В тексте задания построчно указываются исходные слова для перевода и их варианты переводов
Основное задание:
В программе должны быть реализованы следующие переводы (первая строка - исходное слово, вторая - список переводов):
Cat
[Кот]
House
[Дом, Здание, Строение]
Green
[Зелёный, Зелень, Трава]
Dog
[Собака]
Table
[Таблица, Стол, Доска, Расписание]
Листинг программного кода основного задания
import java.util.Map;
import java.util.HashMap;
import java.util.List;
public class Main {
public static void main(String[] args){
String key = args[0];
Map<String, List<String>> dict = new HashMap<String, List<String>>();
dict.put("Cat", List.of("Кот"));
dict.put("House", List.of("Дом", "Здание", "Строение"));
dict.put("Green", List.of("Зелёный", "Зелень", "Трава"));
dict.put("Dog", List.of("Собака"));
dict.put("Table", List.of("Таблица", "Стол", "Доска", "Расписание"));
if (dict.containsKey(key)) {
System.out.println(dict.get(key).toString());
} else {
System.out.println("Error");
}
}
}
Вариант дополнительного задания
Приложение должно переводить слова в обратную сторону
input: Стол
output: Table
input: Расписание
output: Table
Листинг программного кода дополнительного задания
import java.util.Map;
import java.util.HashMap;
import java.util.List;
public class Main {
public static void main(String[] args){
String key = args[0];
boolean c = false;
Map<String, List<String>> dict = new HashMap<String, List<String>>();
dict.put("Cat", List.of("Кот"));
dict.put("House", List.of("Дом", "Здание", "Строение"));
dict.put("Green", List.of("Зелёный", "Зелень", "Трава"));
dict.put("Dog", List.of("Собака"));
dict.put("Table", List.of("Таблица", "Стол", "Доска", "Расписание"));
if (dict.containsKey(key)) {
System.out.println(dict.get(key).toString());
} else {
for (Map.Entry<String, List<String>> entry : dict.entrySet()){
if (entry.getValue().contains(key)){
System.out.println(entry.getKey().toString());
c = true;
}
}
if (!c){
System.out.println("Error");
}
}
}
}
Вывод
Были получены навыки работы со стандартными структурами данных в Java
Санкт-Петербург
2021