2.請設計一個程式來模擬擲三顆骰子10000次,請統計每種總點數的出現次數,並顯示在螢幕上。

 

PS.我是用沒有作弊的方法乖乖的寫三顆骰子,事實上題目沒有要求要看個別數字的話,直接理解成骰一顆16面的骰子點數為3~18下去記錄出現次數就可以了!

也就是直接隨機亂數取3~18,用一個陣列去記錄次數就可以了 =>for迴圈裡面可以簡化到非常..晚點補上來好了!

這次不唬爛,真的要睡了!

 

import java.util.*;
public class midtestA2
{
    public static void main(String[] args)
    {
        int dice1, dice2, dice3;
        int[] sum = new int[10000];
        int[] count = new int[16];
        for ( int i = 0; i < sum.length; i++ )
        {
            dice1 = ( int )( Math.random() * 6 + 1);
            dice2 = ( int )( Math.random() * 6 + 1);
            dice3 = ( int )( Math.random() * 6 + 1);
            sum[i] = dice1 + dice2 + dice3;
            count[sum[i]-3]++;
        }
        System.out.println();
        for ( int y = 0; y < count.length; y++ )
        {
            System.out.printf("%d點出現過%d次\t\n",y+3,count[y]);
        }
    }
}

 

 

很可怕的簡化版,有興趣的看看吧..

import java.util.*;
public class midtestA2
{
    public static void main(String[] args)
    {
        int[] count = new int[16];
        for ( int i = 0; i < 10000; i++ )
        {
            count[( int )( Math.random() * 16)]++;
        }
        System.out.println();
        for ( int y = 0; y < count.length; y++ )
        {
            System.out.printf("%d點出現過%d次\t\n",y+3,count[y]);
        }
    }
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Icen Zhong 的頭像
    Icen Zhong

    無止盡的Coding地獄

    Icen Zhong 發表在 痞客邦 留言(0) 人氣()