Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая_работа_ГоловковИЕ_12002108.docx
Скачиваний:
4
Добавлен:
26.06.2024
Размер:
1.49 Mб
Скачать

Заключение

В ходе выполнения курсовой работы были решены поставленные задачи: анализ предметной области, программная реализация изменяемого хранилища информации о животных и тестирование созданного приложения.

Разработан и рассмотрен алгоритм решения поставленной задачи, разобраны включённые в алгоритм функции на языке программирования.

Была разработана программная реализация на языке программирования Java с использованием среды IntelliJ IDEA для создания консольного меню.

Было приведено тестирование программного приложения с рассмотрением встроенного предотвращения ошибок в программе.

Таким образом, поставленные задачи решены, и цель работы достигнута.

Список использованных источников

  1. Животный мир Росиии // Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Животный_мир_России, свободный.

  2. Позвоночные // Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Позвоночные, свободный.

  3. Исключения: checked, unchecked и свои собственные // Javarush [Электронный ресурс] – Режим доступа: https://javarush.com/groups/posts/1944-iskljuchenija-checked-unchecked-i-svoi-sobstvennihe, свободный.

  4. Курс Java Collections – Лекция: Сложная сериализация в XML, JAXB (вложенные классы и т. д.) // Javarush [Электронный ресурс] – Режим доступа: https://javarush.com/quests/lectures/questcollections.level03.lecture09, свободный.

  5. Отношения классов — от UML к коду // Хабр [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/150041 свободный.

Приложение а

Исходный код Main.java

package main.java; import javax.xml.bind.annotation.*; import javax.xml.bind.*; import java.io.*; @XmlRootElement public class Main { public static void main(String[] args) { System.out.println("Животный мир. Пользовательское меню"); doAnimals menu = new doAnimals(); menu.showMenu(); } static public void writeToXML() { AnimalsXML animalsXML = new AnimalsXML(); animalsXML.allAnimals.addAll(Bird.birds); animalsXML.allAnimals.addAll(Mammal.mammals); animalsXML.allAnimals.addAll(Reptile.reptiles); animalsXML.allAnimals.addAll(Amphibian.amphibians); animalsXML.allAnimals.addAll(Fish.fish); String filePath = "infoXMl.xml"; try { JAXBContext context = JAXBContext.newInstance(Main.class, Bird.class, Mammal.class, Reptile.class, Amphibian.class, Fish.class, AnimalsXML.class); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); marshaller.marshal(animalsXML, new File(filePath)); } catch (JAXBException e) { e.printStackTrace(); } System.out.println("Данные сохранены в XML-файл"); } static public void readFromXML() { AnimalsXML animalsXML; String filePath = "infoXMl.xml"; try { JAXBContext context = JAXBContext.newInstance(Main.class, Bird.class, Mammal.class, Reptile.class, Amphibian.class, Fish.class, AnimalsXML.class); Unmarshaller unmarshaller = context.createUnmarshaller(); animalsXML = (AnimalsXML) unmarshaller.unmarshal(new File(filePath)); } catch (JAXBException e) { throw new RuntimeException(e); } for (Object obj : animalsXML.allAnimals) { if (obj instanceof Bird) { Bird.birds.add((Bird) obj); } if (obj instanceof Mammal) { Mammal.mammals.add((Mammal) obj); } if (obj instanceof Reptile) { Reptile.reptiles.add((Reptile) obj); } if (obj instanceof Amphibian) { Amphibian.amphibians.add((Amphibian) obj); } if (obj instanceof Fish) { Fish.fish.add((Fish) obj); } } System.out.println("Получены данные из XML-файла"); System.out.println("Используейте функцию №4 для вывода"); } }