From c4a57c7b80d09e2f67e9db22aa0e22260720cf3e Mon Sep 17 00:00:00 2001 From: Visska Date: Fri, 26 Mar 2021 19:41:34 +0300 Subject: [PATCH 1/2] homework1 --- .../java/java3/homework/homework1/Box.java | 34 ++++++++++++++ .../java/java3/homework/homework1/Main.java | 45 +++++++++++++++++++ .../java3/homework/homework1/fruit/Apple.java | 8 ++++ .../java3/homework/homework1/fruit/Fruit.java | 17 +++++++ .../homework/homework1/fruit/Orange.java | 8 ++++ 5 files changed, 112 insertions(+) create mode 100644 src/main/java/java3/homework/homework1/Box.java create mode 100644 src/main/java/java3/homework/homework1/Main.java create mode 100644 src/main/java/java3/homework/homework1/fruit/Apple.java create mode 100644 src/main/java/java3/homework/homework1/fruit/Fruit.java create mode 100644 src/main/java/java3/homework/homework1/fruit/Orange.java 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..c256711 --- /dev/null +++ b/src/main/java/java3/homework/homework1/Box.java @@ -0,0 +1,34 @@ +package java3.homework.homework1; + +import java3.homework.homework1.fruit.Fruit; + +import java.util.ArrayList; +import java.util.List; + +public class Box { + private List fruits; + + public Box(){ + 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; + } +} 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..265491b --- /dev/null +++ b/src/main/java/java3/homework/homework1/Main.java @@ -0,0 +1,45 @@ +package java3.homework.homework1; + +import java3.homework.homework1.fruit.Apple; +import java3.homework.homework1.fruit.Orange; + +public class Main { + public static void main(String[] args) { + + Apple apple = new Apple(1); + Orange orange = new Orange(1.5f); + + Box b1 = new Box(); + Box b2 = new Box(); + Box b3 = new Box(); + + 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"); + } + + + + + } + + + public void first() + { + + } +} 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); + } +} From f9667e3585afb8b29694e76f500fe7e38030cde3 Mon Sep 17 00:00:00 2001 From: Visska Date: Tue, 30 Mar 2021 14:03:11 +0300 Subject: [PATCH 2/2] homework1 --- .../java/java3/homework/homework1/Box.java | 26 ++++++++++++++++- .../java/java3/homework/homework1/Main.java | 28 +++++++++++++++---- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/main/java/java3/homework/homework1/Box.java b/src/main/java/java3/homework/homework1/Box.java index c256711..ee7ef69 100644 --- a/src/main/java/java3/homework/homework1/Box.java +++ b/src/main/java/java3/homework/homework1/Box.java @@ -1,17 +1,27 @@ 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 Box(){ + public Class getType() { + return type; + } + + + public Box(Class type){ + this.type = type; fruits = new ArrayList<>(); } + public void add(T fruit){ fruits.add(fruit); } @@ -31,4 +41,18 @@ public float 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 index 265491b..4fb98e9 100644 --- a/src/main/java/java3/homework/homework1/Main.java +++ b/src/main/java/java3/homework/homework1/Main.java @@ -3,15 +3,18 @@ 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(); - Box b2 = new Box(); - Box b3 = new Box(); + Box b1 = new Box(Apple.class); + Box b2 = new Box(Apple.class); + Box b3 = new Box(Orange.class); b1.add(apple); b1.moveTo(b2); @@ -34,12 +37,25 @@ public static void main(String[] args) { + 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); - public void first() - { + } + +// 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); } }