Problem coming up with program? Do not know where to start!
Write a program to simulate 1000 trials, each of which consists of tossing a
fair coin 10 times and counting the number of heads. For each n = 0; : : : ; 10,
your program should print the proportion of trials resulting in exactly n heads.
The output from my program is given below:
0.0000 0.0130 0.0440 0.1249 0.1958 0.2488 0.1868 0.1249 0.0500 0.0100 0.0010
The proportions predicted by probability theory are
0.0010 0.0098 0.0439 0.1172 0.2051 0.2461 0.2051 0.1172 0.0439 0.0098 0.0010
- Import java.util.Random and java.text.DecimalFormat.
-Declare static variables
private static Random random=new Random(0);
private DecimalFormat=new DecimalFormat("0.0000");
- Declare instance variables int count and int ntrials, where
count[n]=m means exactly m trials have resulted in n heads, and where
ntrials is the number of trials.
- Declare a constructor Simulator() which initializes count to 11 components,
and ntrials to zero.
- Declare methods
? int toss(): simulate a single coin toss by returning a random
integer in the range 0?1.
? int result(): simulate a trial by calling toss() 10 times and
adding the results.
? void simulate(): record the result of one trial by calling result()
and updating count and ntrials.
? void simulate(int n): perform n simulations.
? public String toString(): generate a String from the values
of count[n]/ntrials for n going from 0 to 10. You will want
to do floating-point division, and format the result using format.
- Your main program can be:
Simulator s=new Simulator();
Related Tutorials/Questions & Answers: