课程
/后端开发
/Java
/Java入门第三季
random的原理是什么?难道不应该重新运行后随机值就变了吗?每次都是0 2 5 0 3 6 7 1 5 8
2017-03-31
源自:Java入门第三季 3-8
正在回答
random取值范围是[0,1)也就是0到1之间但不包括1,如果你取10以内的随机数可以写成(int)(Math.random()*10); 如果你想取规定范围内的随机数可以用下面方法: (数据类型)(最小值 + Math.random()*(最大值-最小值+1));
贴在eclipse就能看到真正效果了。我这也是这样。
代码贴出来
个人观点:可能和C语言是一样的,在库里random是引用了一个随机数表,这个表是固定的(当然你可以去替换),所以取简单的随机数就是从开头开始往后取。大一上C语言课的时候老师讲过这个问题,可以自己手写一个函数,然后取不同的位置的随机数,从而达到每次都不一样的效果(当时是把随便输入的数字变成ASC码转型然后作为开始的坐标)。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答两个相同的字符串数组,为什么运行后的结果却不同?
5 回答为什么我不管运行多少次 输出的课程都是按我输入的选课号排的 老师不是说是随机的 每次都不一样吗
1 回答第二次修改的运行结果为什么不一样呢
2 回答为什么我的Set每次取出的顺序一样,不是每次都会变吗?
3 回答大佬们,为什么我一次随机出的数组,输出后数组元素为什么不同?