我搜索了这个网站,发现了类似的代码,但有点不同。对于我在课堂上的实验室,说明书说我需要滚动N次,M次,并显示频率表中滚动发生的次数。所以我在频率表中设置数据时遇到了一些麻烦。频率表打印正确,但我的数字是错误的。我觉得我错过了什么,数组或增量?请帮忙
我的意见:
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Lab1
{
public static void main(String[] arg)
{
Random ran = new Random();
String n = JOptionPane.showInputDialog(null,"How many dice?: ");
String m = JOptionPane.showInputDialog(null,"How many rolls?: ");
int die = Integer.parseInt(n);
int roll = Integer.parseInt(m);
int count = 0;
int[] rollArr = new int[die*6+1];
for(int i=0;i<rollArr.length;i++)
{
rollArr[i] = 0;
}
for( int i=0; i<roll;i++)
{
count = die*1 + ran.nextInt ( 6 );
++rollArr[count];
}
for(int r=1;r<rollArr.length;r++)
System.out.println(r + ":" + rollArr[r]);
}
}
这个例子说要掷4个骰子1,000,000次得到一个钟形曲线,但我的曲线有很多零。 我的输出:
1:0
2:0
3:0
4:166309
5:166424
6:166523
7:166984
8:167286
9:166474
10:0
11:0
12:0
13:0
14:0
15:0
16:0
17:0
18:0
19:0
20:0
21:0
22:0
23:0
24:0
答案 0 :(得分:3)
我只是给出一个提示,因为这是一个实验室作业。
我相信你的导师希望看到模具卷的总和的分布,因为这将显示为钟形曲线。因此,您的数组必须捕获并计算可能的总和。例如,如果你掷了四个骰子,那么可能的总数是4-24,你就可以计算出来了。