所以我需要得到25到75之间的随机数,我尝试了两件事:System.out.println(random.nextInt(75)+25);System.out.println((int)(Math.random()*75) + 25);据我所知,我在两行中写的“75”应该是我得到的最大数字,“25”应该是最小的数字。但是,我得到了这样的数字:84,94,82,79,98 // these are only the numbers that went out of range我想我误解了nextInt和Math.random的规则。我如何获得我想要的数字(在25到75之间)?
2 回答
九州编程
TA贡献1785条经验 获得超4个赞
想想这部分:
random.nextInt(75) + 25
您正在生成一个介于 0 和 74 之间的数字,然后加上 25。这将生成一个从 25 到 99 的随机数。如果它生成 74,而您添加 25,则它变为 99。
您需要在生成之前减去下限:
random.nextInt(75 - 25) + 25)
饮歌长啸
TA贡献1951条经验 获得超3个赞
您的示例的范围是,因为您在结果中添加了二十五。你想要这样的东西25100
System.out.println(random.nextInt(75 - 25) + 25);
因为你想要一个范围中的值,然后通过添加二十五个来将它向上移动二十五个。050
添加回答
举报
0/150
提交
取消
