diff --git a/src/main/java/core/basesyntax/Application.java b/src/main/java/core/basesyntax/Application.java index 42ed4ef868..7dfc5dc72f 100644 --- a/src/main/java/core/basesyntax/Application.java +++ b/src/main/java/core/basesyntax/Application.java @@ -1,7 +1,18 @@ package core.basesyntax; public class Application { + private static final int BALL_COUNT = 3; + public static void main(String[] args) { - // create three balls using class Lottery and print information about them in console + Lottery lottery = new Lottery(); + Ball[] balls = new Ball[BALL_COUNT]; + + for (int i = 0; i < balls.length; i++) { + balls[i] = lottery.getRandomBall(); + } + + for (Ball ball: balls) { + System.out.println(ball.toString()); + } } } diff --git a/src/main/java/core/basesyntax/Ball.java b/src/main/java/core/basesyntax/Ball.java new file mode 100644 index 0000000000..f12e1d82e7 --- /dev/null +++ b/src/main/java/core/basesyntax/Ball.java @@ -0,0 +1,17 @@ +package core.basesyntax; + +public class Ball { + private final Color color; + private final int number; + + public Ball(Color color, int number) { + this.color = color; + this.number = number; + } + + @Override + public String toString() { + return this.color.name() + " " + "ball" + " " + + "with number" + " " + this.number; + } +} diff --git a/src/main/java/core/basesyntax/Color.java b/src/main/java/core/basesyntax/Color.java new file mode 100644 index 0000000000..7252e9adde --- /dev/null +++ b/src/main/java/core/basesyntax/Color.java @@ -0,0 +1,9 @@ +package core.basesyntax; + +public enum Color { + RED, + BLUE, + GREEN, + WHITE, + BLACK +} diff --git a/src/main/java/core/basesyntax/ColorSupplier.java b/src/main/java/core/basesyntax/ColorSupplier.java index 25e8b23b15..92d9524651 100644 --- a/src/main/java/core/basesyntax/ColorSupplier.java +++ b/src/main/java/core/basesyntax/ColorSupplier.java @@ -1,7 +1,11 @@ package core.basesyntax; +import java.util.Random; + public class ColorSupplier { - public String getRandomColor() { - return null; + private final Random random = new Random(); + + public Color getRandomColor() { + return Color.values()[this.random.nextInt(Color.values().length)]; } } diff --git a/src/main/java/core/basesyntax/Lottery.java b/src/main/java/core/basesyntax/Lottery.java new file mode 100644 index 0000000000..88eda19726 --- /dev/null +++ b/src/main/java/core/basesyntax/Lottery.java @@ -0,0 +1,17 @@ +package core.basesyntax; + +import java.util.Random; + +public class Lottery { + private static final int MAX_BALL_NUMBER = 100; + + private final Random random = new Random(); + private final ColorSupplier colorSupplier = new ColorSupplier(); + + public Ball getRandomBall() { + return new Ball( + this.colorSupplier.getRandomColor(), + this.random.nextInt(MAX_BALL_NUMBER) + 1 + ); + } +}