产生[n,m]之间的随机整数

来源:互联网 发布:淘宝 一件代发 编辑:程序博客网 时间:2024/05/16 16:18

这里利用Java的Math.random()方法,该方法产生[0,1)之间的随机数。
Java代码:

public static int random_between(int left, int right){        return (int)(Math.random()*(right - left + 1)) + left;    }

注意:
该方法产生的是[n,m]之间的随机整数,n和m也是会产生的;
如果是[n,m),代码为(int)(Math.random()*(right - left)) + left;
如果是(n,m],代码为(int)(Math.random()*(right - left)) + left + 1;
如果是(n,m),代码为(int)(Math.random()*(right - left - 1)) + left + 1;
测试:
随机产生[10,20]之间的随机整数,在调用该方法产生的110000个数中,处于[10,20]区间内的任意一个数的个数大概是10000个。
测试代码如下:

public static void main(String[] args) {        int total = 0;        for (int a = 0; a < 10; a++) {            int[] ramdonNums = new int[110000];            for (int i = 0; i < ramdonNums.length; i++) {                ramdonNums[i] = random_between(10 ,20);            }            System.out.print("第"+ (a + 1) +"次产生数10的个数:");            int count = 0;            for (int i : ramdonNums) {                if(i == 10){                    count++;                }            }            total += count;            System.out.println(count);        }        System.out.print("平均产生数10的个数:" + total/10);    }

结果:
测试

阅读全文
0 0
原创粉丝点击