public class Simulation { int numOfDice, numOfTosses; Dice dice; Bins bin; Simulation(int numDice, int numToss){ this.numOfDice = numDice; this.numOfTosses = numToss; dice = new Dice(numDice); bin = new Bins(numDice); } public int getRoll(){ return dice.tossSum(); } public void simulate(){ for(int i = 0; i< this.numOfTosses; i++){ bin.incrementBin(getRoll()); } } public double toPercent(int diceVal){ double result = (double)bin.binResults.get(diceVal)/this.numOfTosses; return result; } public String getStars(double percent) { String output = new String(); int numOfStars = (int)(percent*100); for(int i = 0; i < numOfStars; i++){ output += "*"; } return output; } public void printResults(){ System.out.println("***********************************************"); System.out.println("Simulation of " + this.numOfDice + " dice tossed for " + this.numOfTosses + " times."); System.out.println("***********************************************\n"); for(Integer num : bin.binResults.keySet()) { String output = String.format("%3d : %9d -> %6.2f %-5s", num, bin.binResults.get(num), toPercent(num), getStars(toPercent(num))); System.out.println(output); } } }