大一Java程序设计问题
编写程序模拟掷骰子游戏:同时投掷两个骰子5000次。每个骰子上共有从1到6的6个数,计算每次投掷结果两个骰子的数值之和,并统计和输出每种可能的结果在模拟过程中出现的总次数...
编写程序模拟掷骰子游戏:同时投掷两个骰子5000次。每个骰子上共有从1到6的6个数,计算每次投掷结果两个骰子的数值之和,并统计和输出每种可能的结果在模拟过程中出现的总次数。
解题思路:
1、每次掷两个骰子的最小和是2,最大是12,一共有11个可能的和
2、这11个可能的和出现的次数可以放在一个整型数组里
3、用随机数每次生成2个1~6之间的随机数表示掷两个骰子
(要求用到util包和集合框架) 展开
解题思路:
1、每次掷两个骰子的最小和是2,最大是12,一共有11个可能的和
2、这11个可能的和出现的次数可以放在一个整型数组里
3、用随机数每次生成2个1~6之间的随机数表示掷两个骰子
(要求用到util包和集合框架) 展开
3个回答
2017-05-25
展开全部
// **** 求采纳 ****
//1、每次掷两个骰子的最小和是2,最大是12,一共有11个可能的和
int[] base = {2,3,4,5,6,7,8,9,10,11,12};
//2、这11个可能的和出现的次数可以放在一个整型数组里
int[] times = new int[base.length];
//3、用随机数每次生成2个1~6之间的随机数表示掷两个骰子
for (int i = 0; i < 50; i++) {
int num_one = (int)(Math.random() * 10 % 6) + 1;
int num_two = (int)(Math.random() * 10 % 6) + 1;
int sum = num_one + num_two;
//获得和 在结果数组中的下标
int index = sum - 2;
//对应次数数组值加1
times[index] = times[index] + 1;
}
for(int i=0;i< times.length; i++){
System.out.println(base[i] + " 出现 " + times[i] + "次");
}
展开全部
拿走
public class Tou {
public int ran() {
int d = (int) (10 * Math.random());
if (d > 6 || d < 1) {
return ran();
}
return d;
}
public void result() {
int[] array = new int[13];// 存放结果的数组
int x = 0;
while (x < 5000) {
int a = ran();// 第一个骰子的数
int b = ran();// 第二个骰子的数
int c = a + b;
array[c]++;
x++;
}
for (int i : array) {
System.out.println(i);
}
}
public static void main(String[] args) {
Tou t = new Tou();
t.result();
}
}
追问
题目要求是同时投掷2个骰子啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有意愿可以私信我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |