由0-5的随机数,生成0-90的随机数
问题:由0-5的随机数,生成0-90的随机数
解决思路:进制转换,0-5的随机数生成3位,最大值就是4 * 5 ^ 2 + 4 * 5 ^ 1 + 4 * 5 ^ 0 = 124
生成三位随机的0-5,然后再做判断,和330(90对应的5进制)做比较,剔除>330的数据
public class RandomGenerator {
/**
* 进制转换,给定产出0-5随机数的函数,那么就用六进制
*
* @return
*/
public int generateNewRange() {
Random random = new Random();
while (true) {
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += random.nextInt(6) * Math.pow(5, i);
}
if (sum < 90)
return sum;
}
}
public static void main(String[] args) {
RandomGenerator randomGenerator = new RandomGenerator();
while (true) {
System.out.println(randomGenerator.generateNewRange());
}
}
}
版权声明:本文为u011624157原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。