Share on Google+

Allaa S
Problem coming up with program? Do not know where to start!
0 Answer(s)      5 years and 5 months ago
Posted in : Java Beginners

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(); s.simulate(1000); System.out.println(s);

Ads

View Answers

Related Tutorials/Questions & Answers:
Tutorials

Ads

Advertisement null

Ads