From d8729ad09858bff0845e3ab814cc9ccbccdae14d Mon Sep 17 00:00:00 2001 From: Daniil Date: Wed, 28 Jan 2026 22:14:48 +0100 Subject: [PATCH 1/3] Added balls, random color, random number. --- .../java/core/basesyntax/Application.java | 9 +++++- src/main/java/core/basesyntax/Ball.java | 28 +++++++++++++++++++ .../java/core/basesyntax/ColorSupplier.java | 7 ++++- src/main/java/core/basesyntax/Colors.java | 10 +++++++ src/main/java/core/basesyntax/Lottery.java | 19 +++++++++++++ 5 files changed, 71 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 42ed4ef868..98c114e99c 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 + + Ball ball1 = new Lottery().getRandomBall(); + Ball ball2 = new Lottery().getRandomBall(); + Ball ball3 = new Lottery().getRandomBall(); + + System.out.println(ball1); + System.out.println(ball2); + System.out.println(ball3); } } diff --git a/src/main/java/core/basesyntax/Ball.java b/src/main/java/core/basesyntax/Ball.java new file mode 100644 index 0000000000..6ad761cb6b --- /dev/null +++ b/src/main/java/core/basesyntax/Ball.java @@ -0,0 +1,28 @@ +package core.basesyntax; + +public class Ball { + private String color; + private int number; + + public String getColor() { + return this.color; + } + public void setColor(String color) { + this.color = color; + } + + public int getNumber() { + return this.number; + } + public void setNumber(int number) { + this.number = number; + } + + @Override + public String toString() { + return "Ball{ " + + "color='" + getColor() + '\'' + + "number='" + getNumber() + '\'' + + '}'; + } +} diff --git a/src/main/java/core/basesyntax/ColorSupplier.java b/src/main/java/core/basesyntax/ColorSupplier.java index 25e8b23b15..88be60cd78 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 { public String getRandomColor() { - return null; + + int randomInt = new Random().nextInt(Colors.values().length); + Colors color = Colors.values()[randomInt]; + return color.toString(); } } diff --git a/src/main/java/core/basesyntax/Colors.java b/src/main/java/core/basesyntax/Colors.java new file mode 100644 index 0000000000..661b58f587 --- /dev/null +++ b/src/main/java/core/basesyntax/Colors.java @@ -0,0 +1,10 @@ +package core.basesyntax; + +public enum Colors { + BLACK, + BLUE, + RED, + WHITE, + PURPLE, + PINK +} diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java new file mode 100644 index 0000000000..ecb6339181 --- /dev/null +++ b/src/main/java/core/basesyntax/Lottery.java @@ -0,0 +1,19 @@ +package core.basesyntax; + +import java.util.Random; + +public class Lottery { + Ball ball = new Ball(); + private static final int FIGURE_COUNT = 100; + private final Random random = new Random(); + + + public Ball getRandomBall() { + + String randomColor = new ColorSupplier().getRandomColor(); + ball.setColor(randomColor); + ball.setNumber(random.nextInt(FIGURE_COUNT)); + + return ball; + } +} From 58dc597e4e2a36edd653c2dc9ad16c02dd2ca6fb Mon Sep 17 00:00:00 2001 From: Daniil Date: Wed, 28 Jan 2026 23:07:34 +0100 Subject: [PATCH 2/3] small fix --- src/main/java/core/basesyntax/Application.java | 11 +++-------- src/main/java/core/basesyntax/Ball.java | 10 ++++++---- src/main/java/core/basesyntax/ColorSupplier.java | 7 +++---- src/main/java/core/basesyntax/Lottery.java | 15 ++++++++++----- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/main/java/core/basesyntax/Application.java b/src/main/java/core/basesyntax/Application.java index 98c114e99c..a23bd3ccda 100644 --- a/src/main/java/core/basesyntax/Application.java +++ b/src/main/java/core/basesyntax/Application.java @@ -2,13 +2,8 @@ public class Application { public static void main(String[] args) { - - Ball ball1 = new Lottery().getRandomBall(); - Ball ball2 = new Lottery().getRandomBall(); - Ball ball3 = new Lottery().getRandomBall(); - - System.out.println(ball1); - System.out.println(ball2); - System.out.println(ball3); + for (int i = 0; i < 3; i++) { + System.out.println(new Lottery().getRandomBall()); + } } } diff --git a/src/main/java/core/basesyntax/Ball.java b/src/main/java/core/basesyntax/Ball.java index 6ad761cb6b..78efd00b0a 100644 --- a/src/main/java/core/basesyntax/Ball.java +++ b/src/main/java/core/basesyntax/Ball.java @@ -7,6 +7,7 @@ public class Ball { public String getColor() { return this.color; } + public void setColor(String color) { this.color = color; } @@ -14,15 +15,16 @@ public void setColor(String color) { public int getNumber() { return this.number; } + public void setNumber(int number) { this.number = number; } @Override public String toString() { - return "Ball{ " + - "color='" + getColor() + '\'' + - "number='" + getNumber() + '\'' + - '}'; + return "Ball{ " + + "color='" + getColor() + '\'' + + "number='" + getNumber() + '\'' + + '}'; } } diff --git a/src/main/java/core/basesyntax/ColorSupplier.java b/src/main/java/core/basesyntax/ColorSupplier.java index 88be60cd78..e17ad3580f 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 { - public String getRandomColor() { + private final Random random = new Random(); - int randomInt = new Random().nextInt(Colors.values().length); - Colors color = Colors.values()[randomInt]; - return color.toString(); + public String getRandomColor() { + return Colors.values()[random.nextInt(Colors.values().length)].toString(); } } diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java index ecb6339181..7322c2a9c1 100644 --- a/src/main/java/core/basesyntax/Lottery.java +++ b/src/main/java/core/basesyntax/Lottery.java @@ -3,17 +3,22 @@ import java.util.Random; public class Lottery { - Ball ball = new Ball(); - private static final int FIGURE_COUNT = 100; - private final Random random = new Random(); - + private static final int FIGURE_COUNT = 101; + private final Random random = new Random(); + private Ball ball = new Ball(); public Ball getRandomBall() { - String randomColor = new ColorSupplier().getRandomColor(); ball.setColor(randomColor); ball.setNumber(random.nextInt(FIGURE_COUNT)); + return ball; + } + public Ball getBall() { return ball; } + + public void setBall(Ball ball) { + this.ball = ball; + } } From 871e5e6cf1022cb9d822f1aeed322e257d24b3d4 Mon Sep 17 00:00:00 2001 From: Daniil Date: Wed, 28 Jan 2026 23:12:06 +0100 Subject: [PATCH 3/3] small fix --- src/main/java/core/basesyntax/Lottery.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java index 7322c2a9c1..b068a0ecc3 100644 --- a/src/main/java/core/basesyntax/Lottery.java +++ b/src/main/java/core/basesyntax/Lottery.java @@ -5,20 +5,12 @@ public class Lottery { private static final int FIGURE_COUNT = 101; private final Random random = new Random(); - private Ball ball = new Ball(); public Ball getRandomBall() { + Ball ball = new Ball(); String randomColor = new ColorSupplier().getRandomColor(); ball.setColor(randomColor); ball.setNumber(random.nextInt(FIGURE_COUNT)); return ball; } - - public Ball getBall() { - return ball; - } - - public void setBall(Ball ball) { - this.ball = ball; - } }