2016-11-04 51 views

回答

15

對於一個範圍內的隨機值,計算公式爲:

double random = min + Math.random() * (max - min); 

這個基本公式是恆定的,不管你用什麼來產生隨機數。

Math.random()提供適度均勻分佈的數字,但是你可以用任何你想要的隨機數生成器替換它,例如(略好):

Random r = new Random(); 
double random = min + r.nextDouble() * (max - min); 

,或者如果你真的想要一個float

float random = min + r.nextFloat() * (max - min); 

或者你可以更異國情調的第三方圖書館。

5

如果你想生成隨機浮點值試試這個:

import java.util.Random; 

public static float randFloat(float min, float max) { 

    Random rand = new Random(); 

    float result = rand.nextFloat() * (max - min) + min; 

    return result; 

} 

希望這有助於。

+1

這不會編譯,也不能正常工作。你需要返回一個值,返回的值應該是'float'類型,而不是'int'。 – Paul

+0

@保羅:謝謝指出。已修正:) – Techiee

+0

Upvote for the actual logic:float result = rand.nextFloat()*(max - min)+ min; – Techiee

相關問題