給定rand6()函數實現
private static int rand6(){
return (int)(Math.random()*6)+1;
}
rand6()可以得到1,2,3,4,5,6
rand6()-1可以得到0,1,2,3,4,5
(rand6()-1)*6可以得到0,6,12,18,24,30
result=(rand6()-1)*6+rand6()-1可以得到0,1,2,3,4,5,6,7……35
10的整數倍爲10,20,30,因此將result>=30的部分截掉。
result%10可以得到0,1,2……9,再+1,可以得到1,2,3……10
private static int rand10(){
int result;
do{
result=(rand6()-1)*6+rand6()-1;
}while(result>=30);
return result%10+1;
}