以下是作业: 对于此程序,有两个“部分”。第一部分将运行试验,并确定每次试验开启前有多少上限,然后才能找到胜利上限。每个试验(人)都将成为赢家。每个试用版打开的上限数量写入该文件。 程序的第二部分将读取数值并计算平均值。平均数应该在4.5到5.5之间,因为有五分之一的胜算。使用随机整数
它编译和运行,但平均始终为0
我的代码:
int randNum = 0;
Random randNumList = new Random();
int counter = 0;
Scanner in = new Scanner(System.in);
System.out.println("How many trials will there be?");
int trials = in.nextInt();
int winner = 0;
PrintWriter outFile = new PrintWriter (new File("cap.txt"));
//run trials
for (int loop = 1; loop <= trials; loop++)
{
//select random number until 5 is selected
randNum = randNumList.nextInt(6);
for (randNum = randNumList.nextInt(6); randNum == 5; randNum++)
{
randNum = randNumList.nextInt(6);
counter++;
}
outFile.println(loop + " " + randNum);
}
outFile.close (); //close the file when finished
String token = " ";
Scanner inFile = new Scanner(new File("cap.txt"));
while (inFile.hasNext())
{
token = inFile.next();
if(token.equals("5"))
winner++;
}
double average = winner/counter;
System.out.println("The average number is " + average);
什么是错了,它应该工作用代码?你试过编译/运行它吗? –
你真正的问题是什么? “看看我的代码”是不是一个问题.. –
它编译和运行,但平均总是0. – apsstudent