From d0c560623b1e571e2521d9282ccddda09cff6038 Mon Sep 17 00:00:00 2001 From: anlov Date: Sat, 24 May 2025 11:16:34 +0300 Subject: [PATCH] Lesson_10 --- proJect/src/main/java/anlov/java/Box.java | 28 +++++++++++++++++++++ proJect/src/main/java/anlov/java/Fruit.java | 27 ++++++++++++++++++++ proJect/src/main/java/anlov/java/Main.java | 22 ++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 proJect/src/main/java/anlov/java/Box.java create mode 100644 proJect/src/main/java/anlov/java/Fruit.java diff --git a/proJect/src/main/java/anlov/java/Box.java b/proJect/src/main/java/anlov/java/Box.java new file mode 100644 index 0000000..73c8b0a --- /dev/null +++ b/proJect/src/main/java/anlov/java/Box.java @@ -0,0 +1,28 @@ +package anlov.java; + +import java.util.ArrayList; +import java.util.List; + +public class Box { + private final List boxWithFruit = new ArrayList<>(); + + public void add(T fruits, int count) { + for (int i = 0; i < count; i++) { + boxWithFruit.add(fruits); + } + } + + public double getBoxWeight() { + return boxWithFruit.stream().mapToDouble(Fruit::getWeight).sum(); + } + + public boolean compare(Box fruitsWeight) { + return this.getBoxWeight() == fruitsWeight.getBoxWeight(); + } + + public void exchange(Box newBox) { + newBox.boxWithFruit.addAll(this.boxWithFruit); + this.boxWithFruit.clear(); + } + +} diff --git a/proJect/src/main/java/anlov/java/Fruit.java b/proJect/src/main/java/anlov/java/Fruit.java new file mode 100644 index 0000000..2a7dd9d --- /dev/null +++ b/proJect/src/main/java/anlov/java/Fruit.java @@ -0,0 +1,27 @@ +package anlov.java; + +public class Fruit { + private double weight; + + public Fruit(double weight) { + this.weight = weight; + } + + public double getWeight() { + return weight; + } +} + +class Apple extends Fruit{ + + public Apple(double weight) { + super(weight); + } +} + +class Orange extends Fruit{ + + public Orange(double weight) { + super(weight); + } +} \ No newline at end of file diff --git a/proJect/src/main/java/anlov/java/Main.java b/proJect/src/main/java/anlov/java/Main.java index 2109cb3..8cf246e 100644 --- a/proJect/src/main/java/anlov/java/Main.java +++ b/proJect/src/main/java/anlov/java/Main.java @@ -5,5 +5,27 @@ public class Main { public static void main(String[] args) { + + double weightApple = 1; + double weightOrange = 1.5; + + Box orangeBox = new Box<>(); + orangeBox.add(new Orange(weightOrange), 7); + System.out.println(orangeBox.getBoxWeight()); + + Box appleBox = new Box<>(); + appleBox.add(new Apple(weightApple), 7); + System.out.println(appleBox.getBoxWeight()); + + Box appleBox2 = new Box<>(); + appleBox2.add(new Apple(weightApple), 8); + System.out.println(appleBox2.getBoxWeight()); + + System.out.println(appleBox.compare(appleBox2)); + + appleBox2.exchange(appleBox); + System.out.println(appleBox.getBoxWeight()); + System.out.println(appleBox2.getBoxWeight()); + } } \ No newline at end of file