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]);
}
}
}