/** A simple class that simulates a fair die. @author Jed Yang and friends, 2018-01-05 */ import java.util.Random; public class Die { // class variable private static int numberCreated = 0; // static means same between all instances // instance variables, always private private final int sides; // final means doesn't change private int value; public Die() { this(6); /* sides = 6; value = 1; numberCreated++; System.out.println("Created a " + sides + "-sided die. Number " + numberCreated); */ } public Die(int sides) { this.sides = sides; value = 1; numberCreated++; System.out.println("Created a " + sides + "-sided die. Number " + numberCreated); } /** Rolls the die to get a different value. */ public void roll() { Random rand = new Random(); value = rand.nextInt(sides) + 1; } /** Returns the value of the die, defaults to 1 before first roll. @return value of the die */ public int getValue() { return value; } public void setValue(int value) { if (value >= 1 && value <= sides) { this.value = value; } else { System.err.println("Value out of bounds: " + value); } } }