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的取指定范围内的随机数)(1)

测试结果

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

喜欢的话给个关注[送心][送心][送心],分享永不停止~

#java##编程##随机数#

java里面获取随机数(实现java的取指定范围内的随机数)(2)

,