Java Reference
In-Depth Information
1
// Fig. 6.7: RollDie.java
2
// Roll a six-sided die 6,000,000 times.
3
import
java.security.SecureRandom;
4
5
public class
RollDie
6
{
7
public static void
main(String[] args)
8
{
9
// randomNumbers object will produce secure random numbers
10
SecureRandom randomNumbers =
new
SecureRandom();
11
12
int
frequency1 =
0
;
// count of 1s rolled
13
int
frequency2 =
0
;
// count of 2s rolled
14
int
frequency3 =
0
;
// count of 3s rolled
15
int
frequency4 =
0
;
// count of 4s rolled
16
int
frequency5 =
0
;
// count of 5s rolled
17
int
frequency6 =
0
;
// count of 6s rolled
18
19
// tally counts for 6,000,000 rolls of a die
20
for
(
int
roll =
1
; roll <=
6000000
; roll++)
21
{
22
int
face =
1
+ randomNumbers.nextInt(
6
);
// number from 1 to 6
23
24
// use face value 1-6 to determine which counter to increment
25
switch
(
face
)
26
{
27
case
1
:
28
++frequency1;
// increment the 1s counter
29
break
;
30
case
2:
31
++frequency2;
// increment the 2s counter
32
break
;
33
case
3:
34
++frequency3;
// increment the 3s counter
35
break
;
36
case
4:
37
++frequency4;
// increment the 4s counter
38
break
;
39
case
5:
40
++frequency5;
// increment the 5s counter
41
break
;
42
case
6:
43
++frequency6;
// increment the 6s counter
44
break
;
45
}
46
}
47
48
System.out.println(
"Face\tFrequency"
);
// output headers
49
System.out.printf(
"1\t%d%n2\t%d%n3\t%d%n4\t%d%n5\t%d%n6\t%d%n"
,
50
frequency1, frequency2, frequency3, frequency4,
51
frequency5, frequency6);
52
}
53
}
// end class RollDie
Fig. 6.7
|
Roll a six-sided die 6,000,000 times. (Part 1 of 2.)