From 63037d0f2ba99b10d6190e78ec167b14d2b5f2c1 Mon Sep 17 00:00:00 2001 From: qdo_ln <4yu@bk.ru> Date: Thu, 4 Jul 2019 00:50:57 +0300 Subject: [PATCH 1/2] Java3 lesson1 homework. --- src/lesson1/task1/ArrayItems.java | 49 +++++++++++++++++++++++++ src/lesson1/task2/ArrayToArrayList.java | 18 +++++++++ src/lesson1/task3/Apple.java | 14 +++++++ src/lesson1/task3/Fruit.java | 12 ++++++ src/lesson1/task3/FruitBox.java | 41 +++++++++++++++++++++ src/lesson1/task3/Main.java | 26 +++++++++++++ src/lesson1/task3/Orange.java | 14 +++++++ 7 files changed, 174 insertions(+) create mode 100644 src/lesson1/task1/ArrayItems.java create mode 100644 src/lesson1/task2/ArrayToArrayList.java create mode 100644 src/lesson1/task3/Apple.java create mode 100644 src/lesson1/task3/Fruit.java create mode 100644 src/lesson1/task3/FruitBox.java create mode 100644 src/lesson1/task3/Main.java create mode 100644 src/lesson1/task3/Orange.java diff --git a/src/lesson1/task1/ArrayItems.java b/src/lesson1/task1/ArrayItems.java new file mode 100644 index 0000000..f535ed5 --- /dev/null +++ b/src/lesson1/task1/ArrayItems.java @@ -0,0 +1,49 @@ +/* +Сделал просто через массив Object(закоментированно ниже), но сомневаюсь, что в этом смысл задания. +Не понял как в данном примере использовать дженерики. Метод придумал, а как его корректно применить не знаю. + */ + +package lesson1.task1; + + +import java.util.Arrays; +import java.util.Collections; + + +public class ArrayItems { + public void swap(int FirstItem, int SecondItem, T...array){ + Collections.swap(Arrays.asList(array), FirstItem, SecondItem); + } + + public static void main(String[] args) { + ArrayItems test = new ArrayItems(); + test.swap(0,1, "1","2","3","4","5"); + System.out.println(test.getClass()); + + } + +} +// public static void main(String[] args) { +// Object [] array = new Object[5]; +// array[0]="one"; +// array[1]=2.0f; +// array[2]=3; +// array[3]=4L; +// array[4]='\u01BC'; +// ArrayItems test = new ArrayItems(); +// +// System.out.println(Arrays.toString(array)); +// test.swap(0,2,array); +// System.out.println(Arrays.toString(array)); +// test.swap(4,2,array); +// System.out.println(Arrays.toString(array)); +// +// } +// +// public void swap(int index1, int index2, Object [] array){ +// +// Object temp = array[index1]; +// array[index1] = array[index2]; +// array[index2] = temp; +// } +//} diff --git a/src/lesson1/task2/ArrayToArrayList.java b/src/lesson1/task2/ArrayToArrayList.java new file mode 100644 index 0000000..a37cc76 --- /dev/null +++ b/src/lesson1/task2/ArrayToArrayList.java @@ -0,0 +1,18 @@ +package lesson1.task2; + +import java.util.ArrayList; +import java.util.Arrays; + +public class ArrayToArrayList { + + public ArrayList arrayToArrayList(T...array){ + ArrayList result = new ArrayList<>(Arrays.asList(array)); + return result; + } + public static void main(String[] args) { + ArrayToArrayList str = new ArrayToArrayList(); + System.out.println(str.arrayToArrayList("1","2","3","4","5").size()); + // Методом .size я проверил, что результат метода arrayToArrayList - ArrayList + // т.к. у Array определение длины выполняет метод .length + } +} diff --git a/src/lesson1/task3/Apple.java b/src/lesson1/task3/Apple.java new file mode 100644 index 0000000..7812394 --- /dev/null +++ b/src/lesson1/task3/Apple.java @@ -0,0 +1,14 @@ +package lesson1.task3; + +public class Apple extends Fruit{ + + public Apple() { + super(1.0f); + } + + @Override + public float getWeight() { + return weight; + } + +} diff --git a/src/lesson1/task3/Fruit.java b/src/lesson1/task3/Fruit.java new file mode 100644 index 0000000..1ab363a --- /dev/null +++ b/src/lesson1/task3/Fruit.java @@ -0,0 +1,12 @@ +package lesson1.task3; + +public abstract class Fruit { + float weight; + + public abstract float getWeight(); + + public Fruit(float weight) { + this.weight = weight; + } + +} diff --git a/src/lesson1/task3/FruitBox.java b/src/lesson1/task3/FruitBox.java new file mode 100644 index 0000000..b7dce8c --- /dev/null +++ b/src/lesson1/task3/FruitBox.java @@ -0,0 +1,41 @@ +package lesson1.task3; + +import com.sun.org.apache.xerces.internal.impl.xpath.regex.Match; + +import java.util.ArrayList; +import java.util.Arrays; + +public class FruitBox { + ArrayList fruitBox = new ArrayList<>(); + + public FruitBox(T...fruits){ + fruitBox = new ArrayList<>(Arrays.asList(fruits)); + } + + public ArrayList getFruitBox() { + return fruitBox; + } + + public void addFruit (T fruit){ + fruitBox.add(fruit); + } + + public float getBoxWeight(){ + float boxWeight = 0f; + + for (int i = 0; i< fruitBox.size(); i++) { + boxWeight += fruitBox.get(i).getWeight(); + } + return boxWeight; + } + + public boolean compare (FruitBox anotherBox){ + return Math.abs(this.getBoxWeight()-anotherBox.getBoxWeight()) < 0.0001f; + } + + public void repackFruits (FruitBox anotherBox){ + anotherBox.fruitBox.addAll(this.fruitBox); + this.fruitBox.clear(); + } + +} diff --git a/src/lesson1/task3/Main.java b/src/lesson1/task3/Main.java new file mode 100644 index 0000000..f529ea4 --- /dev/null +++ b/src/lesson1/task3/Main.java @@ -0,0 +1,26 @@ +package lesson1.task3; + +public class Main { + public static void main(String[] args) { + + FruitBox appleFruitBox = new FruitBox<>(new Apple(),new Apple(), new Apple(), new Apple(), new Apple()); + FruitBox orangeFruitBox = new FruitBox<>(new Orange(), new Orange(), new Orange(),new Orange()); + + System.out.println("The box of apples weight is " + appleFruitBox.getBoxWeight()); + System.out.println("The box of oranges weight is " +orangeFruitBox.getBoxWeight()); + System.out.println("Is the boxes weigh the same? - " + appleFruitBox.compare(orangeFruitBox)); + System.out.println("-------------------------------------"); + + FruitBox appleFruitBox2 = new FruitBox<>(); + FruitBox orangeFruitBox2 = new FruitBox<>(); + + appleFruitBox.repackFruits(appleFruitBox2); + orangeFruitBox.repackFruits(orangeFruitBox2); + System.out.println("The 1st box of apples weight is " + appleFruitBox.getBoxWeight()); + System.out.println("The 2nd box of apples weight is " + appleFruitBox2.getBoxWeight()); + System.out.println("-------------------------------------"); + System.out.println("The 1st box of oranges weight is " +orangeFruitBox.getBoxWeight()); + System.out.println("The 2nd box of oranges weight is " +orangeFruitBox2.getBoxWeight()); + + } +} diff --git a/src/lesson1/task3/Orange.java b/src/lesson1/task3/Orange.java new file mode 100644 index 0000000..7537c9d --- /dev/null +++ b/src/lesson1/task3/Orange.java @@ -0,0 +1,14 @@ +package lesson1.task3; + +public class Orange extends Fruit{ + + + public Orange() { + super(1.5f); + } + + @Override + public float getWeight() { + return weight; + } +} From c155d72cc4f4dbcd96ec925f69bbc09442de4a1b Mon Sep 17 00:00:00 2001 From: qdo_ln <4yu@bk.ru> Date: Thu, 4 Jul 2019 21:45:31 +0300 Subject: [PATCH 2/2] ArrayItem update. --- src/lesson1/task1/ArrayItems.java | 56 +++++++++++-------------------- 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/src/lesson1/task1/ArrayItems.java b/src/lesson1/task1/ArrayItems.java index f535ed5..b46970e 100644 --- a/src/lesson1/task1/ArrayItems.java +++ b/src/lesson1/task1/ArrayItems.java @@ -1,49 +1,31 @@ -/* -Сделал просто через массив Object(закоментированно ниже), но сомневаюсь, что в этом смысл задания. -Не понял как в данном примере использовать дженерики. Метод придумал, а как его корректно применить не знаю. - */ package lesson1.task1; - import java.util.Arrays; -import java.util.Collections; - -public class ArrayItems { - public void swap(int FirstItem, int SecondItem, T...array){ - Collections.swap(Arrays.asList(array), FirstItem, SecondItem); - } +public class ArrayItems { public static void main(String[] args) { + Object [] array = new Object[5]; + array[0]="one"; + array[1]=2.0f; + array[2]=3; + array[3]=4L; + array[4]='\u01BC'; ArrayItems test = new ArrayItems(); - test.swap(0,1, "1","2","3","4","5"); - System.out.println(test.getClass()); + + System.out.println(Arrays.toString(array)); + test.swap(0,2,array); + System.out.println(Arrays.toString(array)); + test.swap(4,2,array); + System.out.println(Arrays.toString(array)); } + public void swap(int index1, int index2, Object [] array){ + + Object temp = array[index1]; + array[index1] = array[index2]; + array[index2] = temp; + } } -// public static void main(String[] args) { -// Object [] array = new Object[5]; -// array[0]="one"; -// array[1]=2.0f; -// array[2]=3; -// array[3]=4L; -// array[4]='\u01BC'; -// ArrayItems test = new ArrayItems(); -// -// System.out.println(Arrays.toString(array)); -// test.swap(0,2,array); -// System.out.println(Arrays.toString(array)); -// test.swap(4,2,array); -// System.out.println(Arrays.toString(array)); -// -// } -// -// public void swap(int index1, int index2, Object [] array){ -// -// Object temp = array[index1]; -// array[index1] = array[index2]; -// array[index2] = temp; -// } -//}