I'm getting error when compiling this code for my rolling dice assignment Please fix this Java code so it will run successfully. package dicerollinggame; import java.util.Scanner; class SingleDie { private int sides; public SingleDie(int sides) { this.sides = sides; } public int roll() { return (int) (Math.random() * sides) + 1; } } class PairDice { private SingleDie die1; private SingleDie die2; public PairDice(int sides) { die1 = new SingleDie(sides); die2 = new SingleDie(sides); } public int rollDice() { int result1 = die1.roll(); int result2 = die2.roll(); return result1 + result2; } public boolean isSpecialCombination(int sum) { return sum == 2 || sum == 7 || sum == 12; } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Welcome to the Dice Rolling Game!"); int sides; do { System.out.print("Enter the number of sides for each die: "); sides = sc.nextInt(); if (sides <= 1) { System.out.println("Please enter a valid number of sides for the dice."); } } while (sides <= 1); PairDice dicePair = new PairDice(sides); boolean playAgain = true; int gamesWon = 0; int gamesLost = 0; while (playAgain) { int result = dicePair.rollDice(); System.out.println("Result: " + result); if (dicePair.isSpecialCombination(result)) { if (result == 2) { System.out.println("1 + 1 = 2 snake eyes!"); } else if (result == 7) { System.out.println("7 craps!"); } else if (result == 12) { System.out.println("6 + 6 = 12 box cars!"); } playAgain = false; gamesLost++; System.out.println("You lost! Games won: " + gamesWon + ", Games lost: " + gamesLost); } else if (result == 7 || result == 11) { playAgain = false; gamesWon++; System.out.println("You won! Games won: " + gamesWon + ", Games lost: " + gamesLost); } else { System.out.println("Roll again!"); } } sc.close(); } }
I'm getting error when compiling this code for my rolling dice assignment
Please fix this Java code so it will run successfully.
package dicerollinggame;
import java.util.Scanner;
class SingleDie {
private int sides;
public SingleDie(int sides) {
this.sides = sides;
}
public int roll() {
return (int) (Math.random() * sides) + 1;
}
}
class PairDice {
private SingleDie die1;
private SingleDie die2;
public PairDice(int sides) {
die1 = new SingleDie(sides);
die2 = new SingleDie(sides);
}
public int rollDice() {
int result1 = die1.roll();
int result2 = die2.roll();
return result1 + result2;
}
public boolean isSpecialCombination(int sum) {
return sum == 2 || sum == 7 || sum == 12;
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Welcome to the Dice Rolling Game!");
int sides;
do {
System.out.print("Enter the number of sides for each die: ");
sides = sc.nextInt();
if (sides <= 1) {
System.out.println("Please enter a valid number of sides for the dice.");
}
} while (sides <= 1);
PairDice dicePair = new PairDice(sides);
boolean playAgain = true;
int gamesWon = 0;
int gamesLost = 0;
while (playAgain) {
int result = dicePair.rollDice();
System.out.println("Result: " + result);
if (dicePair.isSpecialCombination(result)) {
if (result == 2) {
System.out.println("1 + 1 = 2 snake eyes!");
} else if (result == 7) {
System.out.println("7 craps!");
} else if (result == 12) {
System.out.println("6 + 6 = 12 box cars!");
}
playAgain = false;
gamesLost++;
System.out.println("You lost! Games won: " + gamesWon + ", Games lost: " + gamesLost);
} else if (result == 7 || result == 11) {
playAgain = false;
gamesWon++;
System.out.println("You won! Games won: " + gamesWon + ", Games lost: " + gamesLost);
} else {
System.out.println("Roll again!");
}
}
sc.close();
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 5 images