Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

This is a simulation of rolling dice. Actual results approach theory only when the sample size is large. So we will need to repeat rolling the dice a large number of times (we will use 10,000). The theoretical probability of rolling doubles of a specific number is 1 out of 36 or approximately 278 out of 10,000 times that you roll the pair of dice. Since this is a simulation, the numbers will vary a little each time you run it.

Check out how to use the random number generator (introduced in section 4.11 of the text) to get a number between 1 and 6 to create the simulation.

We will continue to use control structures that we have already learned, while exploring control structures used for repetition. We shall also continue our work with algorithms, translating a given algorithm to java in order to complete our program. We will start with a while loop, then use the same program, changing the while loop to a do-while loop, and then a for loop.

We will be introduced to file input and output. We will read a file, line by line, converting each line into a number. We will then use the numbers to calculate the mean and standard deviation.

First we will learn how to use file output to get results printed to a file. Next we will use file input to read the numbers from a file and calculate the mean. Finally, we will see that when the file is closed, and then reopened, we will start reading from the top of the file again so that we can calculate the standard deviation.

Part-1

1. You need to add code to simulate rolling the dice and keeping track of the doubles. 

2. Convert the algorithm below to Java and place it in the main method after the variable declarations, but before the output statements.  You will be using several control structures:  a while loop and an if-else-if statement nested inside another if statement.  Use the indenting of the algorithm to help you decide what is included in the loop, what is included in the if statement, and what is included in the nested if-else-if statement.

3.  To “roll” the dice, use the nextInt method of the random number generator to generate an integer from 1 to 6. 

Get the value of the first die by “rolling” the first die

Get the value of the second die by “rolling” the second die

 If the value of the first die is the same as the value of the second die
  If value of first die is 1
   Increment the number of times snake eyes were rolled

  Else if value of the first die is 2
   Increment the number of times twos were rolled

  Else if value of the first die is 3
   Increment the number of times threes were rolled

  Else if value of the first die is 4
   Increment the number of times fours were rolled

  Else if value of the first die is 5
   Increment the number of times fives were rolled

  Else if value of the first die is 6
   Increment the number of times sixes were rolled

 Increment the number of times the dice were rolled
 
4.  Compile and run.  You should get numbers that are somewhat close to 278 for each of the different pairs of doubles.  Run it several times.  You should get different results than the first time, but again it should be somewhat close to 278.

Part-2 Using Other Types of Loops

1.  Change the while loop to a do-while loop.  Compile and run.  You should get the same results.

2.  Change the do loop to a for loop.  Compile and run.  You should get the same results.

Part-3 Writing Output to a File

1. Copy the files StatsDemo.java and Numbers.txt from the Student CD or as directed by your instructor.   

2.  First we will write output to a file:

a)  Create a FileWriter object passing it the filename “Results.txt” (Don’t forget the needed import statement).

b)  Create a PrintWriter object passing it the FileWriter object.

c)  Since you are using a FileWriter object, add a throws clause to the main method header.

d)  Print the mean and standard deviation to the output file using a three decimal format, labeling each.

e)  Close the output file.

3.  Compile, debug, and run.  You will need to type in the filename Numbers.txt.

You should get no output to the console, but running the program will create a file called Results.txt with your output.  The output you should get at this point is:

mean = 0.000, standard deviation = 0.000.  This is not the correct mean or standard deviation for the data, but we will fix this in the next tasks.

Part - 4 Calculating the Mean

1.  Now we need to add lines to allow us to read from the input file and calculate the mean.

a)  Create a FileReader object passing it the filename.

b)  Create a BufferedReader object passing it the FileReader object.

2.  Write a priming read to read the first line of the file.

3.  Write a loop that continues until you are at the end of the file.

4.  The body of the loop will

a)  convert the line into a double value and add the value to the accumulator

b)  increment the counter

c)  read a new line from the file

5.  When the program exits the loop close the input file.

6. Calculate and store the mean.  The mean is calculated by dividing the accumulator by the counter.

7. Compile, debug, and run. You should now get a mean of 77.444, but the standard deviation will still be 0.000.

Part -5 Calculating the Standard Deviation

1.  We need to reconnect to the file so that we can start reading from the top again.

a)  Create a FileReader object passing it the filename.

b)  Create a BufferedReader object passing it the FileReader object.

2.  Reinitialize sum and count to 0.

3.  Write a priming read to read the first line of the file.

4.  Write a loop that continues until you are at the end of the file.

5.  The body of the loop will

a)  convert the line into a double value and subtract the mean, store the result in difference

b)  add the square of the difference to the accumulator

c)  increment the counter

d)  read a new line from the file

6.  When the program exits the loop close the input file.

7.  The variance is calculated by dividing the accumulator (sum of the squares of the difference) by the counter. Calculate the standard deviation by taking the square root of the variance (Use Math.sqrt ( ) to take the square root). 

8.  Compile, debug, and run.  You should get a mean of 77.444 and standard deviation of 10.021.

Java, Programming

  • Category:- Java
  • Reference No.:- M9132085

Have any Question?


Related Questions in Java

Solving 2nd degree equationsbull write the following java

Solving 2nd degree equations • Write the following Java methods • boolean real-sols(double a, double b, double c): it returns true if the 2nd degree equation ax2 + bx + c has real solutions • double solution1(double a, d ...

Object-oriented software development1 introduction 11

OBJECT-ORIENTED SOFTWARE DEVELOPMENT 1. Introduction 1.1 Assignment Requirement 1.2 Deliverables and Structure (what to submit) 1.3 Software Restrictions 1.4 How to score high... 1.5 Assumptions 2. System Requirements 2. ...

Assessment socket programmingtaskwrite a java gui program

Assessment: Socket Programming Task Write a JAVA GUI program that would facilitate text chatting/exchanging between two or multiple computers over the network/internet, using the concept of JAVA socket programming. If yo ...

Part a specification - robot simulationpart a

PART A Specification - Robot Simulation PART A Requirements To complete this assignment you will use the supplied eclipse project Robot P1/. It is already set up to execute a simple arm movement loop which you will build ...

Assessment -java program using array of Assessment -JAVA Program using array of objects

Assessment -JAVA Program using array of objects Objectives This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details For this assignment, you are required to develop a Windowed G ...

Question slideshows or carousels are very popular in

Question : Slideshows (or carousels) are very popular in websites. They allow web developers to display news or images on the website in limited space. In this code challenge, you are required to complete the JavaScript ...

Assessment socket programmingtaskwrite a java gui program

Assessment: Socket Programming Task Write a JAVA GUI program that would facilitate text chatting/exchanging between two or multiple computers over the network/internet, using the concept of JAVA socket programming. If yo ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

In relation to javaa what is constructor the purpose of

(In relation to Java) A. What is constructor? the purpose of default constructor? B. How do you get a copy of the object but not the reference of the object? C. What are static variables and instance variables? D. Compar ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As