Chapter 4 Lab Loops and Files Lab Objectives
Chapter 4 Lab Loops and Files Lab Objectives
Lab Objectives
Be able to convert an algorithm using control structures into Java code
Be able to write a while loop
Be able to write a do-while loop
Be able to write a for loop
Be able to use the Random class to generate random numbers
Be able to use file streams for I/O
Be able to write a loop that reads until the end of a file
Be able to implement an accumulator and a counter
Introduction
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,
by translating a given algorithm into java code, 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.
Repeat while the number of dice rolls are less than the number of times the dice should
be rolled.
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.
/**
This class simulates rolling a pair of dice 10,000 times
and counts the number of times doubles of are rolled for
each different pair of doubles.
*/
/**
This class reads numbers from a file, calculates the
mean and standard deviation, and writes the results
to a file.
*/