Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions src/main/java/ball/characteristics/Ball.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package ball.characteristics;

public class Ball {
private final int number;
private final String color;

public Ball(int number, String color) {
this.color = color;
this.number = number;
}

public Ball(Ball ball) {
this.color = ball.color;
this.number = ball.number;
}

public String getColor() {
return color;
}

public int getNumber() {
return number;
}

@Override

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The toString() method should return a string that represents the entire Ball object, not just the color. Consider including both the number and the color in the returned string.

public String toString() {
return "The color of the ball is " + getColor()
+ " and the number of the ball is " + getNumber();
}
}
12 changes: 12 additions & 0 deletions src/main/java/ball/characteristics/Color.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package ball.characteristics;

public enum Color {
RED,
GREEN,
PINK,
IVORY,
BLUE,
PURPLE,
YELLOW,
ORANGE
}
7 changes: 7 additions & 0 deletions src/main/java/core/basesyntax/Application.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
package core.basesyntax;

import ball.characteristics.Ball;

public class Application {
public static void main(String[] args) {
// create three balls using class Lottery and print information about them in console

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't add redundant empty lines to your code. There's no need for an empty line after the main method signature.

for (int i = 0; i < 3; i++) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 is a magic number, create constant

Lottery lottery = new Lottery();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't create new lottery instance in a loop - do it outside of the loop

Ball ball = new Ball(lottery.getRandomBall());
System.out.println(ball);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ball ball = new Ball(lottery.getRandomBall());
System.out.println(ball);
System.out.println(lottery.getRandomBall()));

}
}
}
8 changes: 7 additions & 1 deletion src/main/java/core/basesyntax/ColorSupplier.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
package core.basesyntax;

import ball.characteristics.Color;
import java.util.Random;

public class ColorSupplier {
private static final Random random = new Random();

public String getRandomColor() {
return null;
int index = random.nextInt(Color.values().length);
return Color.values()[index].name();
}
}
16 changes: 16 additions & 0 deletions src/main/java/core/basesyntax/Lottery.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package core.basesyntax;

import ball.characteristics.Ball;
import java.util.Random;

public class Lottery {
static final int BORDER = 100;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
static final int BORDER = 100;
private static final int BORDER = 100;

private final Random random = new Random();
private final ColorSupplier colorSupplier = new ColorSupplier();

public Ball getRandomBall() {
int randomNum = random.nextInt(BORDER);
String color = colorSupplier.getRandomColor();
return new Ball(randomNum, color);
}
}