diff --git a/proJect/src/main/java/anlov/java/Main.java b/proJect/src/main/java/anlov/java/Main.java index 2109cb3..5139466 100644 --- a/proJect/src/main/java/anlov/java/Main.java +++ b/proJect/src/main/java/anlov/java/Main.java @@ -1,9 +1,42 @@ package anlov.java; -import java.util.Arrays; +import java.util.*; public class Main { public static void main(String[] args) { + + // Задание 1 + String[] words = {"1", "2", "3", "1", "2", "3", "1", "2", "3", "1", "2", "3", "1", "2", "3", "1", "2", "3"}; + Set uniqueWords = new HashSet<>(Arrays.asList(words)); + System.out.println(uniqueWords); + + Map map = new HashMap<>(); + for (String s : words) { + if (map.containsKey(s)) { + map.put(s, map.get(s) + 1); + } else { + map.put(s, 1); + + } + } + for (Map.Entry map1 : map.entrySet()) { + System.out.printf("Слово: %s встречается %d раз\n", map1.getKey(), map1.getValue()); + } + + // Задание 2 + PhoneBook phoneBook = new PhoneBook(); + + try { + phoneBook.addNew("", "555555"); // IllegalArgumentException! + } catch (IllegalArgumentException e) { + System.out.println("Ошибка: " + e.getMessage()); + } + + phoneBook.addNew("Орлов", "7917111134"); + phoneBook.addNew("Орлов", "1234566789"); + phoneBook.addNew("Петров", "7917111134"); + + phoneBook.getNumbers("Орлов"); } } \ No newline at end of file diff --git a/proJect/src/main/java/anlov/java/PhoneBook.java b/proJect/src/main/java/anlov/java/PhoneBook.java new file mode 100644 index 0000000..8765b21 --- /dev/null +++ b/proJect/src/main/java/anlov/java/PhoneBook.java @@ -0,0 +1,35 @@ +package anlov.java; + +import java.util.*; + +public class PhoneBook { + Map> phoneBook; + + public PhoneBook() { + this.phoneBook = new HashMap<>(); + } + + public void addNew(String lastName, String mobilePhone) { + if (lastName == null || mobilePhone == null || lastName.trim().isEmpty() || mobilePhone.trim().isEmpty()) { + throw new IllegalArgumentException("Заполните обязательные поля"); + } else if (phoneBook.containsKey(lastName)) { + List number = phoneBook.get(lastName); + + if (number.contains(mobilePhone)) { + System.out.printf("Номер %s уже есть у абонента %s.%n", mobilePhone, lastName); + } else { + number.add(mobilePhone); + System.out.printf("Номер %s добавлен для %s.%n", mobilePhone, lastName); + } + } else { + phoneBook.put(lastName, new ArrayList<>(Arrays.asList(mobilePhone))); + System.out.println("Добавлен новый абонент."); + } + + } + + public void getNumbers(String lastName) { + phoneBook.get(lastName); + System.out.printf("По фамили %s, я нашел следующие номера: %s", lastName, phoneBook.get(lastName)); + } +}