diff --git a/src/main/java/java3/homework/homework1/Box.java b/src/main/java/java3/homework/homework1/Box.java new file mode 100644 index 0000000..ee7ef69 --- /dev/null +++ b/src/main/java/java3/homework/homework1/Box.java @@ -0,0 +1,58 @@ +package java3.homework.homework1; + +import java3.homework.homework1.fruit.Apple; +import java3.homework.homework1.fruit.Fruit; +import java3.homework.homework1.fruit.Orange; + +import java.util.ArrayList; +import java.util.List; + +public class Box { + private List fruits; + private final Class type; + + public Class getType() { + return type; + } + + + public Box(Class type){ + this.type = type; + fruits = new ArrayList<>(); + } + + + public void add(T fruit){ + fruits.add(fruit); + } + + public void moveTo(Box otherBox){ + fruits.forEach(fruit -> otherBox.add(fruit)); + } + + public boolean compare(Box otherBox){ + return otherBox.getWeight() == getWeight(); + } + + public float getWeight(){ + float weight = 0; + for(Fruit f:fruits){ + weight += f.getWeight(); + } + return weight; + } + + @Override + public String toString() { + if(getType()==Apple.class){ + return ("Box of Apples"); + } + + if(getType()== Orange.class){ + return ("Box of Oranges"); + } + + return super.toString(); + } + +} diff --git a/src/main/java/java3/homework/homework1/Main.java b/src/main/java/java3/homework/homework1/Main.java new file mode 100644 index 0000000..4fb98e9 --- /dev/null +++ b/src/main/java/java3/homework/homework1/Main.java @@ -0,0 +1,61 @@ +package java3.homework.homework1; + +import java3.homework.homework1.fruit.Apple; +import java3.homework.homework1.fruit.Orange; + +import java.util.Arrays; +import java.util.List; + +public class Main { + public static void main(String[] args) { + + Apple apple = new Apple(1); + Orange orange = new Orange(1.5f); + + Box b1 = new Box(Apple.class); + Box b2 = new Box(Apple.class); + Box b3 = new Box(Orange.class); + + b1.add(apple); + b1.moveTo(b2); + if (b1.compare(b2) ){ + System.out.println("b1 = b2"); + }else if(b1.getWeight()> b2.getWeight()){ + System.out.println("b1 > b2"); + }else { + System.out.println("b1 < b2"); + } + b3.add(orange); + + if (b1.compare(b3) ){ + System.out.println("b1 = b3"); + }else if(b1.getWeight()> b3.getWeight()){ + System.out.println("b1 > b3"); + }else { + System.out.println("b1 < b3"); + } + + + + Box[] array = {new Box(Apple.class), new Box(Apple.class), new Box(Orange.class)}; + + swap(array,0,2); + System.out.println(Arrays.toString(array)); + List list = arrayToArrayList(array); + System.out.println(list); + + + } + +// 1. Написать метод, который меняет два элемента массива местами. + public static void swap(final Box[] arr, final int i, final int j) { + Box tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } + + // 2. Написать метод, который преобразует массив в ArrayList. + public static List arrayToArrayList(final Box[] arr){ + return Arrays.asList(arr); + } +} diff --git a/src/main/java/java3/homework/homework1/fruit/Apple.java b/src/main/java/java3/homework/homework1/fruit/Apple.java new file mode 100644 index 0000000..b22bacc --- /dev/null +++ b/src/main/java/java3/homework/homework1/fruit/Apple.java @@ -0,0 +1,8 @@ +package java3.homework.homework1.fruit; + +public class Apple extends Fruit { + + public Apple(float weight) { + super(weight); + } +} diff --git a/src/main/java/java3/homework/homework1/fruit/Fruit.java b/src/main/java/java3/homework/homework1/fruit/Fruit.java new file mode 100644 index 0000000..acd4904 --- /dev/null +++ b/src/main/java/java3/homework/homework1/fruit/Fruit.java @@ -0,0 +1,17 @@ +package java3.homework.homework1.fruit; + +public abstract class Fruit { + + protected float weight; + + public Fruit(float weight) { + this.weight = weight; + } + + public float getWeight() { + return weight; + } + + + +} diff --git a/src/main/java/java3/homework/homework1/fruit/Orange.java b/src/main/java/java3/homework/homework1/fruit/Orange.java new file mode 100644 index 0000000..659d9e6 --- /dev/null +++ b/src/main/java/java3/homework/homework1/fruit/Orange.java @@ -0,0 +1,8 @@ +package java3.homework.homework1.fruit; + +public class Orange extends Fruit { + + public Orange(float weight) { + super(weight); + } +}