Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут ім. Ігоря Сікорського» Кафедра цифрових технологій в енергетиці ЗВІТ з виконання лабораторної роботи №4 з дисципліни «Програмування на мові Java» «РОБОТА З КОЛЕКЦІЯМИ» Варіант 13 Завдання 2 Код і скріншот public class Task2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); HashMap<String, Abonent> network = new HashMap<>(); network.put("+380973841234", new Abonent("Daniil", "Fundament", "Vinnytsia")); network.put("+380933843534", new Abonent("Nick", "Pepsi", "Kiyv")); network.put("+380912844344", new Abonent("George", "Camel", "Lviv")); network.put("+380990976234", new Abonent("Woodie", "Bond", "Odessa")); network.put("+380964368894", new Abonent("Rick", "Rolton", "Chernigiv")); System.out.println("Enter user phone to find it: "); String number = scan.nextLine(); Abonent currentUser = findAbonent(network, number); if(currentUser != null) { System.out.println(currentUser); } else { System.out.println("invalid user!"); } } public static Abonent findAbonent(HashMap<String, Abonent> network, String number) { if (network.containsKey(number)) { return network.get(number); } else { return null; } } } class Abonent { public String name; public String surname; public String address; public Abonent(String name, String surname, String address) { this.name = name; this.surname = surname; this.address = address; } @Override public String toString() { return surname + " " + name + ", address: " + address; } } Робота коду: / Тести: @org.junit.jupiter.api.Test void findAbonent1() { HashMap<String, Abonent> network = new HashMap<>(); network.put("+380973841234", new Abonent("Daniil", "Fundament", "Vinnytsia")); network.put("+380933843534", new Abonent("Nick", "Pepsi", "Kiyv")); network.put("+380912844344", new Abonent("George", "Camel", "Lviv")); network.put("+380990976234", new Abonent("Woodie", "Bond", "Odessa")); network.put("+380964368894", new Abonent("Rick", "Rolton", "Chernigiv")); Abonent correct = network.get("+380973841234"); Abonent result = Task2.findAbonent(network, "+380973841234"); assertEquals(correct, result); } @org.junit.jupiter.api.Test void findAbonent2() { HashMap<String, Abonent> network = new HashMap<>(); network.put("+380973841234", new Abonent("Daniil", "Fundament", "Vinnytsia")); network.put("+380933843534", new Abonent("Nick", "Pepsi", "Kiyv")); network.put("+380912844344", new Abonent("George", "Camel", "Lviv")); network.put("+380990976234", new Abonent("Woodie", "Bond", "Odessa")); network.put("+380964368894", new Abonent("Rick", "Rolton", "Chernigiv")); Abonent correct = null; Abonent result = Task2.findAbonent(network, "380973841234"); assertEquals(correct, result); } @org.junit.jupiter.api.Test void findAbonent3() { HashMap<String, Abonent> network = new HashMap<>(); network.put("+380973841234", new Abonent("Daniil", "Fundament", "Vinnytsia")); network.put("+380933843534", new Abonent("Nick", "Pepsi", "Kiyv")); network.put("+380912844344", new Abonent("George", "Camel", "Lviv")); network.put("+380990976234", new Abonent("Woodie", "Bond", "Odessa")); network.put("+380964368894", new Abonent("Rick", "Rolton", "Chernigiv")); Abonent correct = null; Abonent result = Task2.findAbonent(network, "+3845345"); assertEquals(correct, result); } @org.junit.jupiter.api.Test void findAbonent4() { HashMap<String, Abonent> network = new HashMap<>(); network.put("+380973841234", new Abonent("Daniil", "Fundament", "Vinnytsia")); network.put("+380933843534", new Abonent("Nick", "Pepsi", "Kiyv")); network.put("+380912844344", new Abonent("George", "Camel", "Lviv")); network.put("+380990976234", new Abonent("Woodie", "Bond", "Odessa")); network.put("+380964368894", new Abonent("Rick", "Rolton", "Chernigiv")); Abonent correct = null; Abonent result = Task2.findAbonent(network, ""); assertEquals(correct, result); } Завдання 8 package org.example; // Створити застосунок для перегляду списку черговиків і зміни пріоритету черговиків в черзі. // Початкові записи в списку (5 записів) створюються в програмному коді і є об'єктом класу LinkedList. // Запис списку є об'єктом QueuePerson, що містить поля прізвища, імені та по батькові черговика (типу String), // поле типу AddressValue для адреси черговика і пріоритет черговика (типу int). // У свою чергу, поле типу AddressValue містить три поля типу String: найменування міста, // найменування вулиці та номер будинку, а також поле типу int - номер квартири // (якщо номер квартири дорівнює 0, будинок, в якому проживає черговик, не має квартир). // Записи в черзі упорядковуються відповідно до пріоритету, і черговик додається останнім в чергу свого пріоритету. import java.util.LinkedList; import java.util.Scanner; public class Task8 { public static void main(String[] args) { LinkedList<QueuePerson> queue = new LinkedList<>(); queue.add(new QueuePerson("Petro", "Ivanov", "Sergiyovych", new AddressValue("Kiyv", "Maydan Nezalejnosti", 104, 4), 1)); queue.add(new QueuePerson("Evgeniy", "Klopotenko", "Batkovych", new AddressValue("Kiyv", "Dniprovska", 145, 56), 2)); queue.add(new QueuePerson("Petro", "Poroshenko", "Roshenovich", new AddressValue("Vinnytsia", "Ovodova", 4, 1), 3)); queue.add(new QueuePerson("Volodymyr", "Petrov", "Ivanovych", new AddressValue("Kiyv", "Saksaganskogo", 57, 48), 4)); queue.add(new QueuePerson("Mykola", "Voytiuk", "Dmitrovych", new AddressValue("Vinnytsia", "Politechnichna", 78, 78), 5)); System.out.println("queu persons list:"); for (QueuePerson queuePerson : queue) { System.out.println(queuePerson); } Scanner scanner = new Scanner(System.in); System.out.println("enter surname to change priority:"); String surname = scanner.nextLine(); System.out.println("enter new priority:"); int newPriority = scanner.nextInt(); try { QueuePerson changedPriority = changePriority(queue, surname, newPriority); } catch (Exception e) { throw new RuntimeException(e); } System.out.println("queuePersons list after changes:"); for (QueuePerson queuePerson1 : queue) { System.out.println(queuePerson1); } } public static QueuePerson getPersonBySurname(LinkedList<QueuePerson> queue, String surname) { QueuePerson queuePerson = null; for (QueuePerson person : queue) { if (person.surname.equals(surname)) { queuePerson = person; break; } } return queuePerson; } public static QueuePerson getPersonByPriority(LinkedList<QueuePerson> queue, int priority) { QueuePerson queuePerson = null; for (QueuePerson person : queue) { if (person.priority == priority) { queuePerson = person; break; } } return queuePerson; } public static QueuePerson changePriority(LinkedList<QueuePerson> queue, String surname, int newPriority) throws Exception { QueuePerson queuePerson = getPersonBySurname(queue, surname); if (queuePerson == null) { System.out.println("Invalid surname"); throw new Exception("Invalid surname"); } QueuePerson oldPriorityPerson = getPersonByPriority(queue, newPriority); if (oldPriorityPerson == null) { System.out.println("Invalid surname"); throw new Exception("Invalid surname"); } oldPriorityPerson.priority = queuePerson.priority; queuePerson.priority = newPriority; queue.sort((a, b) -> a.priority - b.priority); return queuePerson; } } class AddressValue { public String city; public String street; public int houseNumber; public int flatNumber; public AddressValue(String city, String street, int houseNumber, int flatNumber) { this.city = city; this.street = street; this.houseNumber = houseNumber; this.flatNumber = flatNumber; } @Override public String toString() { if (flatNumber == 0) { return city + ", " + street + ", " + houseNumber; } else { return city + ", " + street + ", " + houseNumber + ", Flat: " + flatNumber; } } } class QueuePerson { public String name; public String surname; public String lastname; public AddressValue address; public int priority; public QueuePerson(String name, String surname, String lastname, AddressValue address, int priority) { this.name = name; this.surname = surname; this.lastname = lastname; this.address = address; this.priority = priority; } @Override public String toString() { return "Name: " + surname + " " + name + " " + lastname + ", Address: " + address + ", Priority: " + priority; } } Робота коду: / Тести: @Test void getPersonBySurname1() { LinkedList<QueuePerson> queue = new LinkedList<>(); queue.add(new QueuePerson("Petro", "Ivanov", "Sergiyovych", new AddressValue("Kiyv", "Maydan Nezalejnosti", 104, 4), 1)); queue.add(new QueuePerson("Evgeniy", "Klopotenko", "Batkovych", new AddressValue("Kiyv", "Dniprovska", 145, 56), 2)); queue.add(new QueuePerson("Petro", "Poroshenko", "Roshenovich", new AddressValue("Vinnytsia", "Ovodova", 4, 1), 3)); queue.add(new QueuePerson("Volodymyr", "Petrov", "Ivanovych", new AddressValue("Kiyv", "Saksaganskogo", 57, 48), 4)); queue.add(new QueuePerson("Mykola", "Voytiuk", "Dmitrovych", new AddressValue("Vinnytsia", "Politechnichna", 78, 78), 5)); String surname = "Klopotenko"; QueuePerson correct = queue.get(1); QueuePerson result = Task8.getPersonBySurname(queue, surname); assertEquals(correct, result); } @Test void getPersonBySurname2() { LinkedList<QueuePerson> queue = new LinkedList<>(); queue.add(new QueuePerson("Petro", "Ivanov", "Sergiyovych", new AddressValue("Kiyv", "Maydan Nezalejnosti", 104, 4), 1)); queue.add(new QueuePerson("Evgeniy", "Klopotenko", "Batkovych", new AddressValue("Kiyv", "Dniprovska", 145, 56), 2)); queue.add(new QueuePerson("Petro", "Poroshenko", "Roshenovich", new AddressValue("Vinnytsia", "Ovodova", 4, 1), 3)); queue.add(new QueuePerson("Volodymyr", "Petrov", "Ivanovych", new AddressValue("Kiyv", "Saksaganskogo", 57, 48), 4)); queue.add(new QueuePerson("Mykola", "Voytiuk", "Dmitrovych", new AddressValue("Vinnytsia", "Politechnichna", 78, 78), 5)); String surname = ""; QueuePerson correct = null; QueuePerson result = Task8.getPersonBySurname(queue, surname); assertEquals(correct, result); } @Test void getPersonByPriority1() { LinkedList<QueuePerson> queue = new LinkedList<>(); queue.add(new QueuePerson("Petro", "Ivanov", "Sergiyovych", new AddressValue("Kiyv", "Maydan Nezalejnosti", 104, 4), 1)); queue.add(new QueuePerson("Evgeniy", "Klopotenko", "Batkovych", new AddressValue("Kiyv", "Dniprovska", 145, 56), 2)); queue.add(new QueuePerson("Petro", "Poroshenko", "Roshenovich", new AddressValue("Vinnytsia", "Ovodova", 4, 1), 3)); queue.add(new QueuePerson("Volodymyr", "Petrov", "Ivanovych", new AddressValue("Kiyv", "Saksaganskogo", 57, 48), 4)); queue.add(new QueuePerson("Mykola", "Voytiuk", "Dmitrovych", new AddressValue("Vinnytsia", "Politechnichna", 78, 78), 5)); int priority = 3; QueuePerson correct = queue.get(2); QueuePerson result = Task8.getPersonByPriority(queue, priority); assertEquals(correct, result); } @Test void getPersonByPriority2() { LinkedList<QueuePerson> queue = new LinkedList<>(); queue.add(new QueuePerson("Petro", "Ivanov", "Sergiyovych", new AddressValue("Kiyv", "Maydan Nezalejnosti", 104, 4), 1)); queue.add(new QueuePerson("Evgeniy", "Klopotenko", "Batkovych", new AddressValue("Kiyv", "Dniprovska", 145, 56), 2)); queue.add(new QueuePerson("Petro", "Poroshenko", "Roshenovich", new AddressValue("Vinnytsia", "Ovodova", 4, 1), 3)); queue.add(new QueuePerson("Volodymyr", "Petrov", "Ivanovych", new AddressValue("Kiyv", "Saksaganskogo", 57, 48), 4)); queue.add(new QueuePerson("Mykola", "Voytiuk", "Dmitrovych", new AddressValue("Vinnytsia", "Politechnichna", 78, 78), 5)); int priority = 6; QueuePerson correct = null; QueuePerson result = Task8.getPersonByPriority(queue, priority); assertEquals(correct, result); } Завдання 14 Код і скріншот public class Task14 { public static void main(String[] args) { Map<Integer, Member> members = new HashMap<>(); members.put(1, new Member("Ivan", "Petrov", "Kiyv")); members.put(3, new Member("Petro", "Ivanov", "Lviv")); members.put(2, new Member("Mykola", "Azirov", "Odessa")); members.put(4, new Member("Oleg", "Balashov", "Kharkiv")); members.put(5, new Member("Andriy", "Lampreht", "Dnipro")); System.out.println("List of members"); for (Map.Entry<Integer, Member> entry : members.entrySet()) { System.out.println("Number: " + entry.getKey() + " " + entry.getValue()); } System.out.println(); TreeMap<Member, Integer> sortedMembers = sortBySurname(members); System.out.println("List of members after sort by surname"); for (Map.Entry<Member, Integer> entry : sortedMembers.entrySet()) { System.out.println("Number: " + entry.getValue() + ", " + entry.getKey()); } System.out.println(); Scanner scanner = new Scanner(System.in); System.out.println("Please enter member number to delete:"); int number = scanner.nextInt(); Member removedMember = deleteMember(members, number); if (removedMember == null) { System.exit(0); } System.out.println(); System.out.println("List after member delete"); for (Map.Entry<Integer, Member> entry : members.entrySet()) { System.out.println("Number: " + entry.getKey() + " " + entry.getValue()); } } public static TreeMap<Member, Integer> sortBySurname(Map<Integer, Member> members) { TreeMap<Member, Integer> sortedMembers = new TreeMap<>(new SurnameComparator()); for (Map.Entry<Integer, Member> entry : members.entrySet()) { sortedMembers.put(entry.getValue(), entry.getKey()); } return sortedMembers; } public static Member deleteMember (Map<Integer, Member> members, int number) { Member removedMember = members.remove(number); return removedMember; } } class SurnameComparator implements Comparator<Member> { @Override public int compare(Member ab1, Member ab2) { return ab1.surname.compareTo(ab2.surname); } } class Member { public String name; public String surname; public String address; public Member(String name, String surname, String address) { this.name = name; this.surname = surname; this.address = address; } @Override public String toString() { return surname + " " + name + ", Address: " + address; } } робота коду: / Тести: @Test void deleteMember1() { Map<Integer, Member> members = new HashMap<>(); members.put(1, new Member("Ivan", "Petrov", "Kiyv")); members.put(3, new Member("Petro", "Ivanov", "Lviv")); members.put(2, new Member("Mykola", "Azirov", "Odessa")); members.put(4, new Member("Oleg", "Balashov", "Kharkiv")); members.put(5, new Member("Andriy", "Lampreht", "Dnipro")); int number = 3; Member correct = members.get(number); Member result = Task14.deleteMember(members, number); assertEquals(correct, result); } @Test void deleteMember2() { Map<Integer, Member> members = new HashMap<>(); members.put(1, new Member("Ivan", "Petrov", "Kiyv")); members.put(3, new Member("Petro", "Ivanov", "Lviv")); members.put(2, new Member("Mykola", "Azirov", "Odessa")); members.put(4, new Member("Oleg", "Balashov", "Kharkiv")); members.put(5, new Member("Andriy", "Lampreht", "Dnipro")); int number = 6; Member correct = null; Member result = Task14.deleteMember(members, number); assertEquals(correct, result); } Завдання 28 Код і скріншот public class Task28 { public static void main(String[] args) { ArrayList<Student> students = new ArrayList<>(); students.add(new Student("Ivanov", "Ivan", "Petrovych", "TI-21", new BirthDate(2000, 1, 1), 65.5f)); students.add(new Student("Gaydash", "Oleg", "Valeriyovych", "TV-34", new BirthDate(2001, 2, 2), 78.6f)); students.add(new Student("Boyko", "Mykhaylo", "Mykolayovych", "TR-12", new BirthDate(2002, 3, 3), 94.3f)); students.add(new Student("Danilyuk", "Max", "Stepanovych", "RT-14", new BirthDate(2003, 4, 4), 86.2f)); students.add(new Student("Sharmalyuk", "Serhiy", "Volodymyrovych", "MM-15", new BirthDate(2004, 5, 5), 72.1f)); System.out.println("Students list:"); printStudents(students); System.out.println(); System.out.println("Adding a student:"); Scanner scanner = new Scanner(System.in); System.out.println("Enter surname:"); String surname = scanner.nextLine(); System.out.println("Enter name:"); String name = scanner.nextLine(); System.out.println("Enter lastname:"); String lastname = scanner.nextLine(); System.out.println("Enter group:"); String group = scanner.nextLine(); System.out.println("Enter year:"); int year = scanner.nextInt(); System.out.println("Enter month:"); int month = scanner.nextInt(); System.out.println("Enter day:"); int day = scanner.nextInt(); System.out.println("Enter avg drage:"); float averageGrade = scanner.nextFloat(); Student newStudent = addStudent(students, name, surname, lastname, group, year, month, day, averageGrade); System.out.println(); System.out.println("Students list:"); printStudents(students); System.out.println(); System.out.println("Enter index of student to delete:"); int index = scanner.nextInt(); Student removedStudent = deleteStudent(students, index); System.out.println(); System.out.println("Students list:"); printStudents(students); } public static void printStudents(ArrayList<Student> students) { for (Student student : students) { System.out.println(student); } } public static Student addStudent(ArrayList<Student> students, String name, String surname, String lastName, String group, int year, int month, int day, float averageGrade) { Student newStudent = new Student(surname, name, lastName, group, new BirthDate(year, month, day), averageGrade); students.add(newStudent); return newStudent; } public static Student deleteStudent(ArrayList<Student> students, int index) { Student student = students.get(index); students.remove(index); return student; } } class BirthDate { public int year; public int month; public int day; public BirthDate(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } @Override public String toString() { return String.format("%d.%d.%d", year, month, day); } } class Student { public String surname; public String name; public String lastName; public String group; public BirthDate birthDate; public float averageGrade; public Student(String surname, String name, String lastName, String group, BirthDate birthDate, float averageGrade) { this.surname = surname; this.name = name; this.lastName = lastName; this.group = group; this.birthDate = birthDate; this.averageGrade = averageGrade; } @Override public String toString() { return surname + " " + name + " " + lastName + " Group: " + group + " Date: " + birthDate + " Grade: " + averageGrade; } } Робота коду: / / Тести: @Test void addStudent() { ArrayList<Student> students = new ArrayList<>(); String surname = "Fundament"; String name = "Daniil"; String lastname = "Dmitrovych"; String group = "TR-15"; int year = 2004; int month = 4; int day = 7; float grade = 100; Student newStudent = Task28.addStudent(students, name, surname, lastname, group,year, month, day, grade); Student correct = students.get(0); assertEquals(correct, newStudent); } @Test void deleteStudent() { ArrayList<Student> students = new ArrayList<>(); students.add(new Student("Ivanov", "Ivan", "Petrovych", "TI-21", new BirthDate(2000, 1, 1), 65.5f)); students.add(new Student("Gaydash", "Oleg", "Valeriyovych", "TV-34", new BirthDate(2001, 2, 2), 78.6f)); students.add(new Student("Boyko", "Mykhaylo", "Mykolayovych", "TR-12", new BirthDate(2002, 3, 3), 94.3f)); students.add(new Student("Danilyuk", "Max", "Stepanovych", "RT-14", new BirthDate(2003, 4, 4), 86.2f)); students.add(new Student("Sharmalyuk", "Serhiy", "Volodymyrovych", "MM-15", new BirthDate(2004, 5, 5), 72.1f)); int index = 2; Student correct = students.get(2); Student result = Task28.deleteStudent(students, index); assertEquals(correct, result); }
Антиботан аватар за замовчуванням

29.02.2024 18:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!