2010-11-22 47 views

回答

5

從理論上講,Math.random()將始終大於或等於返回一個值0,並嚴格小於1

因此,使用(int) Math.ceil(Math.random() * 5)實際上應該給你0,1,2,3,4,5,然而,從Math.random()以外正是 0將調用Math.ceil()後給予的1或更大的值返回的值 - 這樣你會經常看到0消失。 (如果你曾經看到它,你肯定會幸運的,但它絕對是可能。)看到5很容易 - 你會得到任何時間Math.random()返回一個大於0.8的值。

是否有任何理由您不使用Random.nextInt()

+0

雖然它應該給你0非常非常罕見。 – rob 2010-11-22 06:21:45

+0

我對Random.nextInt()並不熟悉 - 它是生成隨機數的更好方法嗎? – Sapp 2010-11-22 06:21:48

+0

@rob:我只是補充說:) @Sapp:是的。它給你更多的控制種子等,*和*有用的方法來獲得範圍內的整數等。 – 2010-11-22 06:22:34

相關問題