我来尝试一下,我的思路如下
LZ玩概率论了,两个骰子 出现情况
(1,1)(1, 2) (1, 3)(1, 4)(1, 5)(1, 6)
(2, 1) (2, 2)(2, 3) (2, 4)(2, 5)(2, 6)
(3, 1) (3, 2)(3, 3) (3, 4)(3,5) (3,6)
.....
依次推理
共有6*6 种 ,那么点数之和为7 有 (1,6) (2,5) (3,4) (4,3) (6,1)(5,2) 六种情况
出现了概率 p=6/36- class Dice
- {
- static int[][] dice={ {1,1},{1,2},{1,3},{1,4},{1,5},{1,6},
- {2,1},{2,2},{2,3},{2,4},{2,5},{2,6},
- {3,1},{3,2},{3,3},{3,4},{3,5},{3,6},
- {4,1},{4,2},{4,3},{4,4},{4,5},{4,6},
- {5,1},{5,2},{5,3},{5,4},{5,5},{5,6},
- {6,1},{6,2},{6,3},{6,4},{6,5},{6,6},
- }; //
- protected int sum(){
- int num=0; // 注意局部变量必须要初始化
- for(int i=0;i<(dice.length/dice[0].length);i++)
- {
- for(int n=0;n<2;n++)
- {
- if(dice[i][0]!=dice[i][1]&dice[i][0]+dice[i][1]==7) //判断 二维数组每个首地址的一维数组是否相等 ,点数和为7
- num++; //出现的次数进行累加
- }
- }
- return num;
- }
- protected void count(){
- System.out.println(sum()+"/"+dice.length);
- }
- }
- public class Test{
- public static void main(String[] args){
- new Dice().count();
- }
- }
复制代码 点子小于等于6按照上面思路添加一个方法,用参数n传递过去就ok了 n赋值1~6之间即可
|