由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 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>