math.random假定0是一个整数吗?

时间:2010-11-22 06:13:43

标签: android math random

那么,int random = (int) Math.ceil(Math.random() * 5);是否返回值0,1,2,3,4而不是1,2,3,4,5?

我试过测试一下,但它似乎永远不会达到0或5 = x

1 个答案:

答案 0 :(得分:5)

理论上,Math.random()将始终返回大于或等于0且严格小于1的值。

所以使用(int) Math.ceil(Math.random() * 5)实际上应该给你0,1,2,3,4,5。但是,除了 0之外的Math.random()返回的任何值都将是在致电Math.ceil()后给出1或更多的值 - 所以你会经常看到0消失。 (如果你曾经看到它,你会很幸运,但它肯定是可能的。)看到5很容易 - 你会在Math.random()返回时得到它值大于0.8。

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