Question

In: Computer Science

My code: import java.util.Random; import java.util.Scanner; public class RollDice { public static void main(String[] args) {...

My code:

import java.util.Random;
import java.util.Scanner;

public class RollDice {
public static void main(String[] args) {
int N;
Scanner keybd = new Scanner(System.in);
int[] counts = new int[12];
  
System.out.print("Enter the number of trials: ");
N = keybd.nextInt();
  
Random die1 = new Random();
Random die2 = new Random();
int value1, value2, sum;
for(int i = 1; i <= N; i++) {
value1 = die1.nextInt(6) + 1;
value2 = die2.nextInt(6) + 1;
sum = value1 + value2;
counts[sum-1]++;
}
  
System.out.printf("%10s %10s %10s\n", "Outcome", "Number", "Percent");
for(int i = 2; i <= 12; i++) {
double perc = counts[i-1] * 100.0 / N;
System.out.printf("%10d %10d %10.1f%%\n", i, counts[i-1], perc);
}
  
}
}

Prompts:

- After running, have your code ask the user if they wish to run the simulation again. If they answer "yes", start over at the beginning. If they answer "no", terminate the program.

- In addition to asking for the number of trials, prompt the user to enter the number of dice to be rolled for the trials (so each trial could roll 3 dice, with sums of 3 to 18, or 10 dice, with sums of 10 to 60).

- In addition to asking for the number of trials, prompt the user to enter the number of sides that the dice have.

Solutions

Expert Solution

If you have any problem with the code feel free to comment.

Program

import java.util.Random;
import java.util.Scanner;

public class Test {
   public static void main(String[] args) {
       int N;
       Scanner keybd = new Scanner(System.in);
      
       String choice;//for taking user choice
       while (true) {//infinite loop
          
           //taking all inputs
           System.out.print("Enter the number of trials: ");
           N = keybd.nextInt();
           keybd.nextLine();
           System.out.print("Enter the number of Dice: ");
           int numDice = keybd.nextInt();
           keybd.nextLine();
           System.out.print("Enter the number of sides: ");
           int sides = keybd.nextInt();
           keybd.nextLine();
          
           int len = sides * numDice;//calculating length
           int[] counts = new int[len];

           Random die1 = new Random();
           int value1, sum;
           for (int i = 1; i <= N; i++) {
               value1 = die1.nextInt(sides) + 1;
               sum = value1 * numDice;//finding value of dice
               counts[sum - 1]++;
           }

           System.out.printf("%10s %10s %10s\n", "Outcome", "Number", "Percent");
           for (int i = numDice; i <= len; i++) {//loop the output
               double perc = counts[i - 1] * 100.0 / N;
               System.out.printf("%10d %10d %10.1f%%\n", i, counts[i - 1], perc);
           }
          
           //asking for user choice to continue
           System.out.print("\nDo you wish to continue?(Y/N) ");
           choice = keybd.nextLine();
           if(choice.equalsIgnoreCase("N"))
               break;//loop end statement
       }
      
       keybd.close();
   }
}

Output


Related Solutions

Correct the code: import java.util.Scanner; public class Ch7_PrExercise5 { public static void main(String[] args) {   ...
Correct the code: import java.util.Scanner; public class Ch7_PrExercise5 { public static void main(String[] args) {    Scanner console = new Scanner(System.in);    double radius; double height; System.out.println("This program can calculate "+ "the area of a rectangle, the area "+ "of a circle, or volume of a cylinder."); System.out.println("To run the program enter: "); System.out.println("1: To find the area of rectangle."); System.out.println("2: To find the area of a circle."); System.out.println("3: To find the volume of a cylinder."); System.out.println("-1: To terminate the...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {       ...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {        Stack<Integer> new_stack = new Stack<>();/* Start with the empty stack */        Scanner scan = new Scanner(System.in);        int num;        for (int i=0; i<10; i++){//Read values            num = scan.nextInt();            new_stack.push(num);        } System.out.println(""+getAvg(new_stack));    }     public static int getAvg(Stack s) {        //TODO: Find the average of the elements in the...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {       ...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {        Stack<Integer> new_stack = new Stack<>();/* Start with the empty stack */        Scanner scan = new Scanner(System.in);        int num;        for (int i=0; i<10; i++){//Read values            num = scan.nextInt();            new_stack.push(num);        }        int new_k = scan.nextInt(); System.out.println(""+smallerK(new_stack, new_k));    }     public static int smallerK(Stack s, int k) {       ...
------------------------------------------------------------------------------------ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input =...
------------------------------------------------------------------------------------ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int result = 0; System.out.print("Enter the first number: "); int x = input.nextInt(); System.out.print("Enter the second number: "); int y = input.nextInt(); System.out.println("operation type for + = 0"); System.out.println("operation type for - = 1"); System.out.println("operation type for * = 2"); System.out.print("Enter the operation type: "); int z = input.nextInt(); if(z==0){ result = x + y; System.out.println("The result is " + result); }else...
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Exercise { public static void main(String[] args) {...
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Exercise { public static void main(String[] args) { Scanner input=new Scanner(System.in); int[] WordsCharsLetters = {0,1,2}; while(input.hasNext()) { String sentence=input.nextLine(); if(sentence!=null&&sentence.length()>0){ WordsCharsLetters[0] += calculateAndPrintChars(sentence)[0]; WordsCharsLetters[1] += calculateAndPrintChars(sentence)[1]; WordsCharsLetters[2] += calculateAndPrintChars(sentence)[2]; } else break; } input.close(); System.out.println("Words: " + WordsCharsLetters[0]); System.out.println("Characters: " + WordsCharsLetters[1]); System.out.println("Letters: " + WordsCharsLetters[2]); } static int[] calculateAndPrintChars(String sentence) { int[] WCL = new int[3]; String[] sentenceArray=sentence.split(" "); WCL[0] = sentenceArray.length; int letterCount=0; for(int i=0;i<sentence.length();i++) { if(Character.isLetter(sentence.charAt(i))) letterCount++; } WCL[1]...
import java.util.Random; class Conversions { public static void main(String[] args) { public static double quartsToGallons(double quarts)...
import java.util.Random; class Conversions { public static void main(String[] args) { public static double quartsToGallons(double quarts) { return quarts * 0.25; } public static double milesToFeet(double miles) { return miles * 5280; } public static double milesToInches(double miles) { return miles * 63360; } public static double milesToYards(double miles) { return miles * 1760; } public static double milesToMeters(double miles) { return miles * 1609.34; } public static double milesToKilometer(double miles) { return milesToMeters(miles) / 1000.0; } public static double...
Write program in Java import java.util.Scanner; public class Lab7Program { public static void main(String[] args) {...
Write program in Java import java.util.Scanner; public class Lab7Program { public static void main(String[] args) { //1. Create a double array that can hold 10 values    //2. Invoke the outputArray method, the double array is the actual argument. //4. Initialize all array elements using random floating point numbers between 1.0 and 5.0, inclusive    //5. Invoke the outputArray method to display the contents of the array    //6. Set last element of the array with the value 5.5, use...
import java.util.Scanner; public class Squaring { public static void main(String[] args) { Scanner sc = new...
import java.util.Scanner; public class Squaring { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num=0; String s = ""; while (true) { System.out.println("Enter an integer greater than 1: "); try { // reading input s = sc.nextLine(); // converting into int num = Integer.parseInt(s); break; } catch (Exception e) { System.out.println(s + " is not valid input."); } } // Now we have a valid number // putting into square int square = num; int count...
import java.util.Scanner; public class ZombieApocalypse{    public static void main(String[] args){    Scanner input = new...
import java.util.Scanner; public class ZombieApocalypse{    public static void main(String[] args){    Scanner input = new Scanner(System.in);           boolean gameOver = false; int colSize = 10; int rowSize= 10; String floorTile= "."; int playerX = 0; int playerY= 0; String playerTile="@"; int exitX= colSize-1; int exitY= rowSize-1; String exitTile="# "; int zombieX=5; int zombieY=5; // Defining Second Zombie int zombie2Y= 8; int zombie2X= 3; // Defining third zombie int zombie3Y= 1; int zombie3X= 7; String zombieTile="*"; String zombie2Tile="*";...
import chapter6.date.SimpleDate; import java.util.Scanner; public class SimpleDateTestDefault { public static void main(String[] args) { Scanner stdin...
import chapter6.date.SimpleDate; import java.util.Scanner; public class SimpleDateTestDefault { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); SimpleDate d1 = new SimpleDate(); SimpleDate d2 = new SimpleDate(stdin.nextInt(), stdin.nextInt(), stdin.nextInt()); System.out.println(d1); System.out.println(d2); System.out.println(d1.before(d2)); System.out.println(d2.before(d1)); } } Implement SimpleDate class in chapter6.date package with the following attributes: day, (int type,  private) month, (int type,  private) year (int type,  private) The class should have the following methods: a constructor with three parameters: year, month, and day a constructor with no parameters which initialize the...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT