所以我需要获得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之间)?
答案 0 :(得分:1)
示例的范围是25
至100
,因为您将结果加了25。您想要类似的东西
System.out.println(random.nextInt(75 - 25) + 25);
因为您想要一个介于0
到50
范围内的值,然后通过将二十五加起来将其上移25。
答案 1 :(得分:1)
考虑这一部分:
random.nextInt(75) + 25
您要生成一个介于0到74之间的数字,然后将其加25。这将生成一个从25到99的随机数。如果生成74并加上25,则它变为99。
在生成之前,您需要减去下界:
random.nextInt(75 - 25) + 25)