diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Apple.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Apple.java new file mode 100644 index 0000000..173962d --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Apple.java @@ -0,0 +1,7 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3; + +public class Apple extends Fruit{ + public Apple() { + weight = 1.0; + } +} diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Box.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Box.java new file mode 100644 index 0000000..2243159 --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Box.java @@ -0,0 +1,30 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3; + +import java.util.ArrayList; + +public class Box { + private ArrayList fruitList = new ArrayList<>(); + + public void addFruit(T fruit){ + this.fruitList.add(fruit); + if (fruitList.isEmpty()); + } + + public double getWeight(){ + int count = fruitList.size(); + if (count==0) + return 0; + return fruitList.get(0).getWeight()*count; + } + + public boolean compare(Box box){ + return this.getWeight()==box.getWeight(); + } + + public void pourOverTo(Box destBox){ + for (T fruit : fruitList){ + destBox.addFruit(fruit); + } + fruitList.clear(); + } +} diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Fruit.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Fruit.java new file mode 100644 index 0000000..6fd80af --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Fruit.java @@ -0,0 +1,9 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3; + +public abstract class Fruit { + double weight; + + public double getWeight(){ + return weight; + }; +} diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Main.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Main.java new file mode 100644 index 0000000..b9a636a --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Main.java @@ -0,0 +1,59 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3; + +import java.util.ArrayList; +import java.util.Arrays; + +public class Main { + public static void main(String[] args) { + //Создаем массив + System.out.println("Магия уровня 1"); + Integer[] arr = new Integer[]{1, 2, 3, 4, 5}; + String[] arr2 = new String[]{"a", "b", "c", "d", "e"}; + System.out.println(Arrays.toString(arr)); + swap(arr, 0, 1); + System.out.println(Arrays.toString(arr)); + + System.out.println(Arrays.toString(arr2)); + swap(arr2, 0, 4); + System.out.println(Arrays.toString(arr2)); + + //Операции с массивом + System.out.println("\nМагия уровня 2"); + ArrayList arrayList = toArrayList(arr2); + System.out.println(arrayList); + + //Оперции с коробками + System.out.println("\nМагия уровня 3"); + Box appleBox1 = new Box<>(); + Box appleBox2 = new Box<>(); + Box orangeBox1 = new Box<>(); + for (int i = 0; i < 10; i++) { + appleBox1.addFruit(new Apple()); + orangeBox1.addFruit(new Orange()); + } + for (int i = 0; i < 5; i++) { + appleBox2.addFruit(new Apple()); + } + System.out.println("Масса первой коробки с яблоками: " + appleBox1.getWeight()); + System.out.println("Масса второй коробки с яблоками: " + appleBox2.getWeight()); + System.out.println("Масса коробки с апельсинами: " + orangeBox1.getWeight()); + System.out.println("Результат сравнения 1й коробки с яблоками и коробки с апельсинами: "+appleBox1.compare(orangeBox1)); + + System.out.println("\nПересыпаем из второй коробки в первую...\n"); + appleBox2.pourOverTo(appleBox1); + System.out.println("Масса первой коробки с яблоками: " + appleBox1.getWeight()); + System.out.println("Масса второй коробки с яблоками: " + appleBox2.getWeight()); + System.out.println("Масса коробки с апельсинами: " + orangeBox1.getWeight()); + System.out.println("Результат сравнения 1й коробки с яблоками и коробки с апельсинами: "+appleBox1.compare(orangeBox1)); + } + + static void swap(Object[] arr, int num1, int num2) { + Object buf = arr[num1]; + arr[num1] = arr[num2]; + arr[num2] = buf; + } + + static ArrayList toArrayList(T[] arr) { + return new ArrayList(Arrays.asList(arr)); + } +} diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Orange.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Orange.java new file mode 100644 index 0000000..ed86518 --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Orange.java @@ -0,0 +1,8 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3; + +public class Orange extends Fruit +{ + public Orange() { + weight = 1.5; + } +} diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Main.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Main.java new file mode 100644 index 0000000..8383958 --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Main.java @@ -0,0 +1,60 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_4; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; + +public class Main { + + public static void main(String[] args) { + //Задание 1 + System.out.println("Считаем, сколько раз встречается каждое слово:"); + countArray(); + + //Задание 2 + System.out.println("Телефонная книга. Добавляем и ищем по фамилии:"); + Phonebook phonebook = new Phonebook(); + + phonebook.putInfo("Popov", "+79999999991"); + phonebook.putInfo("Svetlov", "+79999999992"); + phonebook.putInfo("Kononenko", "+79999999993"); + phonebook.putInfo("Popov", "+7911111111111"); + phonebook.putInfo("Chernichev", "+791111222222"); + phonebook.putInfo("Popov", "+7922222222"); + + phonebook.getInfo("Popov"); + phonebook.getInfo("Chernichev"); + } + private static void countArray() { + ArrayList array = new ArrayList<>(); + array.add("tea"); + array.add("king"); + array.add("map"); + array.add("desert"); + array.add("tea"); + array.add("tea"); + array.add("tea"); + array.add("monkey"); + array.add("eagle"); + array.add("desert"); + array.add("monkey"); + array.add("map"); + array.add("tea"); + array.add("tea"); + array.add("king"); + array.add("map"); + array.add("tea"); + array.add("tea"); + array.add("monkey"); + array.add("monkey"); + + HashSet arrayUnique = new HashSet<>(array); + ArrayList arrayCount = new ArrayList<>(arrayUnique); + + for (int i = 0; i < arrayUnique.size(); i++) { + System.out.println("Количество слов \"" + arrayCount.get(i) + "\": " + Collections.frequency(array, arrayCount.get(i))); + } + System.out.println("\n"); + } + +} \ No newline at end of file diff --git a/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Phonebook.java b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Phonebook.java new file mode 100644 index 0000000..b15445a --- /dev/null +++ b/src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Phonebook.java @@ -0,0 +1,29 @@ +package ru.gb.Dmitrieva.HomeWorkApp.Lesson_4; + +import java.util.*; + +class Phonebook { + private final HashMap phonebook = new HashMap<>(); + + private ArrayList getPhone(String name) { + ArrayList phones = new ArrayList<>(); + + Set> phonebookMap = this.phonebook.entrySet(); + for (Map.Entry entry : phonebookMap) { + if (Objects.equals(entry.getValue(), name)) + phones.add(entry.getKey()); + } + return phones; + } + + void getInfo(String name) { + ArrayList phones = getPhone(name); + for (String phone : phones) { + System.out.println("Номер " + name + ": " + phone); + } + } + + void putInfo(String name, String phone) { + phonebook.put(phone, name); + } +} \ No newline at end of file