java获取指定范围的随机数(java中可以通过什么类来获取随机数)

java本身自带的随机数功能非常简单,只能获取1到bound范围内的随机数

Random random = new Random();
int index = random.nextInt(bound);

那如果要负数怎么办呢?我先放出代码,通过这一个简短几行就可以实现

// 获取一定范围内的随机数(获得值包含min和max)
public int getRandom(int min, int max) {
    int length = max - min + 1;
    Random random = new Random();
    int index = random.nextInt(length);
    return min + index;
}

 

我们再来写个测试代码

// 测试随机数
public void testRandom() {
    Logger logger = AppContext.getInstance().getLogger();

    logger.info("取-3到5的随机数,采样20个");
    {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < 20; i++) {
            int num = MathUtil.getInstance().getRandom(-3, 5);
            stringBuilder.append(num);
            stringBuilder.append(" ");
        }
        logger.info(stringBuilder.toString());
    }
    logger.info("取-30到15的随机数,采样20个");
    {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < 20; i++) {
            int num = MathUtil.getInstance().getRandom(-30, 15);
            stringBuilder.append(num);
            stringBuilder.append(" ");
        }
        logger.info(stringBuilder.toString());
    }
}

java获取指定范围的随机数(java中可以通过什么类来获取随机数)

测试结这其实就是利用了区间位移的方法来间接实现。

 

java获取指定范围的随机数(java中可以通过什么类来获取随机数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论