Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Apple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3;

public class Apple extends Fruit{
public Apple() {
weight = 1.0;
}
}
30 changes: 30 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Box.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3;

import java.util.ArrayList;

public class Box<T extends Fruit> {
private ArrayList<T> 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<T> destBox){
for (T fruit : fruitList){
destBox.addFruit(fruit);
}
fruitList.clear();
}
}
9 changes: 9 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Fruit.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3;

public abstract class Fruit {
double weight;

public double getWeight(){
return weight;
};
}
59 changes: 59 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Main.java
Original file line number Diff line number Diff line change
@@ -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<String> arrayList = toArrayList(arr2);
System.out.println(arrayList);

//Оперции с коробками
System.out.println("\nМагия уровня 3");
Box<Apple> appleBox1 = new Box<>();
Box<Apple> appleBox2 = new Box<>();
Box<Orange> 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 <T> ArrayList<T> toArrayList(T[] arr) {
return new ArrayList<T>(Arrays.asList(arr));
}
}
8 changes: 8 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_3/Orange.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package ru.gb.Dmitrieva.HomeWorkApp.Lesson_3;

public class Orange extends Fruit
{
public Orange() {
weight = 1.5;
}
}
60 changes: 60 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Main.java
Original file line number Diff line number Diff line change
@@ -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<String> 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<String> arrayUnique = new HashSet<>(array);
ArrayList<String> 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");
}

}
29 changes: 29 additions & 0 deletions src/ru/gb/Dmitrieva/HomeWorkApp/Lesson_4/Phonebook.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package ru.gb.Dmitrieva.HomeWorkApp.Lesson_4;

import java.util.*;

class Phonebook {
private final HashMap<String, String> phonebook = new HashMap<>();

private ArrayList<String> getPhone(String name) {
ArrayList<String> phones = new ArrayList<>();

Set<Map.Entry<String, String>> phonebookMap = this.phonebook.entrySet();
for (Map.Entry<String, String> entry : phonebookMap) {
if (Objects.equals(entry.getValue(), name))
phones.add(entry.getKey());
}
return phones;
}

void getInfo(String name) {
ArrayList<String> phones = getPhone(name);
for (String phone : phones) {
System.out.println("Номер " + name + ": " + phone);
}
}

void putInfo(String name, String phone) {
phonebook.put(phone, name);
}
}