给定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;
}