在JAVA中使用(Math.random()*((upperbound - lowerbound)+ 1)+ lowerbound)生成一个超出指定范围的数字

时间:2016-01-07 10:09:55

标签: java random

我原则上知道这是如何运作的:

    (Math.random() * ((upperbound - lowerbound) + 1) + lowerbound);

但是,如果我将此用于负数,例如: 我想生成从-30到-35的随机数,我使用相同的公式:

    (Math.random()*(-30-(-35)+1)+(-35));

但生成的数字也包含-29。有办法避免这种情况吗? 我在其中一个较早回答的问题中找到了上层解决方案,我想知道为什么它在这种情况下不起作用。

0 个答案:

没有答案