//随机一个0到(n-1)的随机数
public static int ZeroToNMinusOne(int n){
return (int) (Math.random() * n);
}
//随机一个0到n的随机数
public static int ZeroToN(int n){
return (int) (Math.random() * (n+1));
}
// 随机一个 min <= x <= max的随机数
public static int getBetweenMinAndMax(int min, int max) {
int n = ZeroToN(max - min);
return min + n;
}
/**
* 按百分比随机一个boolean值
*
* @param percent
* @return
*/
public static boolean getRandomBooleanByPercent(int percent) {
return getBetweenMinAndMax(1, 100) <= percent;
}
/**
* 按设置比例随机一个boolean值
*
* @param percent 出现次数
* @param total 所有元素数量
* @return
*/
public static boolean getRandomBooleanByPercent(int proportion, int total) {
return getBetweenMinAndMax(1, total) <= proportion;
}