Java随机数的生成与运用例子

Java随机数的生成与运用

在使用随时数的时候发现,直接输入参数100为种子,可以良好运行,而使用参数作为种子的时候就老是出问题,经研究发现,原来是第一个数和最后一个数的问题,也就是千万不能超出范围,也就是,本来你只有9条数据,你却从2-11取随机数,那如果取到了10或者11咋办?绝对的,就拿不到数据,就报错。相关解释如下:

https://blog.csdn.net/qq_21808961/article/details/79931087

所以,原来写成int j=(int)(1+Math.random()*(100-1+1));

没有问题,但是现在就必须理解随机数的原理,写成:

int s = r.nextInt(length) % (length - 1) + 1;

这两句的差别在什么地方?差别就在于,如果你写成:

int s = r.nextInt(length) % (length - 1+1) + 1;

就一定出错。这这么一点点差别!

但是,在这种情况下,还是会有网页会报错,404,而且只是有一条数据的类别,比如111,222,为什么?经过测试,还是随机函数写的有问题,应该改成下面才是完美的!

int s = r.nextInt(length) % (length - 0) + 1;

为什么?因为你1-1,就等于0了,还怎么随机?语法错误!所以必须改成0.

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: