2012-09-15 72 views
1

我需要使用Random對象生成隨機值。它生成的值從0到1,但我想要生成落入範圍[0,10e-7][10e-7,1]的隨機值。生成rand值屬於兩個不同的範圍

+2

每個範圍的比例是多少? 50/50? – Bohemian

+0

如果比率是隨機的,那麼該比率可以是隨機的 – Mazzy

+3

,那麼在邏輯上只有一個範圍:'[0,1] – Bohemian

回答

3
double max, min; 
if (Math.random() > .5) { // adjust ratio of ranges here 
    min = 0; 
    max = .00000001; 
} else { 
    min = .00000001; 
    max = 1; 
} 
double random = Math.random() * (max - min) + min; 
0

您可以使用Random類的nextDouble()方法獲取介於0和10e-7之間的數字。

然後,在第一種情況下,將數字除以10e7得到[0,10e-7]範圍內的值,如果第二種情況低於此值,則將10e-7添加到生成的值。