我想知道,如果我嘗試使用以下方法獲取隨機整數,它是否應該返回負值?int value = new Random().nextInt(bound);
3 回答

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
否,Random().nextInt(bound)
僅生成從 0 到您指定的數字的正數。如果你想要一個負數,你需要將隨機數乘以-1。
int number = new Random().nextInt(bound) * -1;
Random().nextInt()
另一方面可以返回負數。

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
如果您使用 java.util 包中的 Random 類,您應該提及您期望的數字類型,同時設置上限。您的答案將是從 0 到小于上限的任意值。Random 類中的 nextInt() 返回從 0 到參數 1 的整數值。類似地,我們可以使用 nextDouble 和 nextLong() 等方法。返回的值始終為正值或零。現在,如果您需要負值,我們可以隨機設置負數計數器。比如說,隨機生成另一個整數值并檢查它是奇數/偶數以否定該數字。
另一種方法是使用 Math.random() 方法。此方法返回一個等于或大于 0 且小于 1 的數字。我們可以對整數隨機值使用類型轉換,否則默認情況下我們會得到雙精度值。PS 查看oracle文檔以更好地理解這些類和方法。

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
如果您需要積極和消極的混合,您可以使用如下內容:
int number = new Random().nextInt(bound);
if (number % 2 == 0) {
number *= -1;
}
添加回答
舉報
0/150
提交
取消