From bf474db4bc9b24bd9a1bb082da613673b4881eef Mon Sep 17 00:00:00 2001 From: Serhii Serdiuk Date: Wed, 27 Nov 2024 20:41:06 +0200 Subject: [PATCH 1/4] solution lottery --- .../java/core/basesyntax/Application.java | 9 ++++- src/main/java/core/basesyntax/Ball.java | 37 +++++++++++++++++++ .../java/core/basesyntax/ColorSupplier.java | 7 +++- src/main/java/core/basesyntax/Colors.java | 14 +++++++ src/main/java/core/basesyntax/Lottery.java | 15 ++++++++ 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 src/main/java/core/basesyntax/Ball.java create mode 100644 src/main/java/core/basesyntax/Colors.java create mode 100644 src/main/java/core/basesyntax/Lottery.java diff --git a/src/main/java/core/basesyntax/Application.java b/src/main/java/core/basesyntax/Application.java index 42ed4ef86..6c6018352 100644 --- a/src/main/java/core/basesyntax/Application.java +++ b/src/main/java/core/basesyntax/Application.java @@ -2,6 +2,13 @@ public class Application { public static void main(String[] args) { - // create three balls using class Lottery and print information about them in console + + Lottery ball1 = new Lottery(); + Lottery ball2 = new Lottery(); + Lottery ball3 = new Lottery(); + + System.out.println(ball1.getRandomBall()); + System.out.println(ball2.getRandomBall()); + System.out.println(ball3.getRandomBall()); } } diff --git a/src/main/java/core/basesyntax/Ball.java b/src/main/java/core/basesyntax/Ball.java new file mode 100644 index 000000000..ff68f5fa8 --- /dev/null +++ b/src/main/java/core/basesyntax/Ball.java @@ -0,0 +1,37 @@ +package core.basesyntax; + +public class Ball { + + private String color; + private int number; + + public void setColor(String color) { + this.color = color; + } + + public String getColor() { + return color; + } + + public void setNumber(int number) { + this.number = number; + } + + public int getNumber() { + return number; + } + + @Override + public String toString() { + + return "Ball: " + "color = " + color + ", " + "number = " + number; + } +} + + + + + + + + diff --git a/src/main/java/core/basesyntax/ColorSupplier.java b/src/main/java/core/basesyntax/ColorSupplier.java index 25e8b23b1..bc9cd1fe4 100644 --- a/src/main/java/core/basesyntax/ColorSupplier.java +++ b/src/main/java/core/basesyntax/ColorSupplier.java @@ -1,7 +1,12 @@ package core.basesyntax; +import java.util.Random; + public class ColorSupplier { + String randomColor = getRandomColor(); + public String getRandomColor() { - return null; + int index = new Random().nextInt(Colors.values().length); + return String.valueOf(Colors.values()[index]); } } diff --git a/src/main/java/core/basesyntax/Colors.java b/src/main/java/core/basesyntax/Colors.java new file mode 100644 index 000000000..9695799f4 --- /dev/null +++ b/src/main/java/core/basesyntax/Colors.java @@ -0,0 +1,14 @@ +package core.basesyntax; + +public enum Colors { + GREEN, + RED, + YELLOW, + ORANGE, + BLACK, + WHITE, + BLUE, + GRAY, + VIOLET, + BROWN +} diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java new file mode 100644 index 000000000..5882d6caa --- /dev/null +++ b/src/main/java/core/basesyntax/Lottery.java @@ -0,0 +1,15 @@ +package core.basesyntax; + +import java.util.Random; + +public class Lottery extends ColorSupplier { + Random random = new Random(); + int randomInt = random.nextInt(100); + + public Ball getRandomBall() { + Ball randomBall = new Ball(); + randomBall.setColor(randomColor); + randomBall.setNumber(randomInt); + return randomBall; + } +} From b5dedbb669ecefd0765c7329690661faf0b57efa Mon Sep 17 00:00:00 2001 From: Serhii Serdiuk Date: Thu, 28 Nov 2024 00:22:20 +0200 Subject: [PATCH 2/4] added fixes after review --- src/main/java/core/basesyntax/Application.java | 8 +++----- src/main/java/core/basesyntax/ColorSupplier.java | 5 ++--- src/main/java/core/basesyntax/Lottery.java | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/java/core/basesyntax/Application.java b/src/main/java/core/basesyntax/Application.java index 6c6018352..75021719d 100644 --- a/src/main/java/core/basesyntax/Application.java +++ b/src/main/java/core/basesyntax/Application.java @@ -4,11 +4,9 @@ public class Application { public static void main(String[] args) { Lottery ball1 = new Lottery(); - Lottery ball2 = new Lottery(); - Lottery ball3 = new Lottery(); - System.out.println(ball1.getRandomBall()); - System.out.println(ball2.getRandomBall()); - System.out.println(ball3.getRandomBall()); + for (int i = 0; i < 3; i++) { + System.out.println(ball1.getRandomBall()); + } } } diff --git a/src/main/java/core/basesyntax/ColorSupplier.java b/src/main/java/core/basesyntax/ColorSupplier.java index bc9cd1fe4..767b2913f 100644 --- a/src/main/java/core/basesyntax/ColorSupplier.java +++ b/src/main/java/core/basesyntax/ColorSupplier.java @@ -3,10 +3,9 @@ import java.util.Random; public class ColorSupplier { - String randomColor = getRandomColor(); - public String getRandomColor() { + public Colors getRandomColor() { int index = new Random().nextInt(Colors.values().length); - return String.valueOf(Colors.values()[index]); + return Colors.values()[index]; } } diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java index 5882d6caa..ea4e3c086 100644 --- a/src/main/java/core/basesyntax/Lottery.java +++ b/src/main/java/core/basesyntax/Lottery.java @@ -2,13 +2,13 @@ import java.util.Random; -public class Lottery extends ColorSupplier { +public class Lottery { Random random = new Random(); int randomInt = random.nextInt(100); public Ball getRandomBall() { Ball randomBall = new Ball(); - randomBall.setColor(randomColor); + randomBall.setColor(randomBall.getColor()); randomBall.setNumber(randomInt); return randomBall; } From 80e6beefeb1a7304854f876f20aef66c48beadd9 Mon Sep 17 00:00:00 2001 From: Serhii Serdiuk Date: Thu, 28 Nov 2024 01:46:50 +0200 Subject: [PATCH 3/4] added fixes after review2 --- src/main/java/core/basesyntax/Ball.java | 6 +++--- src/main/java/core/basesyntax/Lottery.java | 13 +++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/core/basesyntax/Ball.java b/src/main/java/core/basesyntax/Ball.java index ff68f5fa8..119819628 100644 --- a/src/main/java/core/basesyntax/Ball.java +++ b/src/main/java/core/basesyntax/Ball.java @@ -2,14 +2,14 @@ public class Ball { - private String color; + private Colors color; private int number; - public void setColor(String color) { + public void setColor(Colors color) { this.color = color; } - public String getColor() { + public Colors getColor() { return color; } diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java index ea4e3c086..50e7d27bf 100644 --- a/src/main/java/core/basesyntax/Lottery.java +++ b/src/main/java/core/basesyntax/Lottery.java @@ -3,13 +3,18 @@ import java.util.Random; public class Lottery { - Random random = new Random(); - int randomInt = random.nextInt(100); + ColorSupplier supplier = new ColorSupplier(); + + public int getRandomInt() { + Random random = new Random(); + int randomInt = random.nextInt(100); + return randomInt; + } public Ball getRandomBall() { Ball randomBall = new Ball(); - randomBall.setColor(randomBall.getColor()); - randomBall.setNumber(randomInt); + randomBall.setColor(supplier.getRandomColor()); + randomBall.setNumber(getRandomInt()); return randomBall; } } From 9796d10340800bf26dc2c7f2bdf60a50f73fb510 Mon Sep 17 00:00:00 2001 From: Serhii Serdiuk Date: Thu, 28 Nov 2024 11:23:43 +0200 Subject: [PATCH 4/4] added fixes after review --- src/main/java/core/basesyntax/Lottery.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java index 50e7d27bf..64089d198 100644 --- a/src/main/java/core/basesyntax/Lottery.java +++ b/src/main/java/core/basesyntax/Lottery.java @@ -3,7 +3,7 @@ import java.util.Random; public class Lottery { - ColorSupplier supplier = new ColorSupplier(); + private final ColorSupplier colorSupplier = new ColorSupplier(); public int getRandomInt() { Random random = new Random(); @@ -13,7 +13,7 @@ public int getRandomInt() { public Ball getRandomBall() { Ball randomBall = new Ball(); - randomBall.setColor(supplier.getRandomColor()); + randomBall.setColor(colorSupplier.getRandomColor()); randomBall.setNumber(getRandomInt()); return randomBall; }