Заранее извиняюсь за незнание Java. Я новичок в программировании на Java и пытаюсь создать программу, в которой я могу подбрасывать монету и подсчитывать, сколько раз монета падает орлом в течение N бросков, измерять время, необходимое для этого, а затем распечатывать его в консоль, чтобы я мог сохранить ее в файле .txt. Я думаю, что почти понял; У меня сейчас проблемы с распечаткой. Любая помощь будет оценена по достоинству! Я застрял!
import java.util.Random;
import java.io.*;
public class RollGraph
{
public static void flip(int n)
{
Random rnd = new Random();
int roll = 0;
int countHeads = 0;
int headsInRow = 0;
int headsOrTails = rnd.nextInt(2);
while(roll<n){
if(headsOrTails == 1){
countHeads++;
headsInRow++;
}
else{
headsInRow=0;
}
}
return;
}
public static void main(String[] arg) throws IOException
{
BufferedWriter writer = new BufferedWriter(
new FileWriter( new File("data.txt")));
long start,end,elapsed;
int repeat = 20;
double total;
double average;
for(int n=1;n<100;n++)
{
total = 0.0;
for(int j=0;j<repeat;j++)
{
start = System.nanoTime();
flip(n);
end = System.nanoTime();
elapsed = end - start;
total += elapsed/1000000;
}
average = total/repeat;
String line = n+"\t"+ average+"\t"+Math.log(average);
System.out.println(line);
writer.write(line);
writer.newLine();
writer.flush();
}
writer.close();
}
}
roll
, теперь ваш циклwhile
будет работать вечно — при условии, чтоn
начинается с 1 или более. - person Daniël Knippers   schedule 26.02.2014