2010-12-08 2 views
1

Использование System.Random ниже всегда возвращает 0. Мне нужно случайное число между 0 и 1. Он всегда возвращает 0. Я ожидал бы некоторого распределения O и 1. ThanksПочему System.Random всегда возвращает тот же номер?

Random random = new Random(); 

int randomInt = random.Next(0, 1) 
+0

«Мне нужно случайное число между 0 и 1» - Тогда почему захват результат в `int`? – 2010-12-08 11:06:19

ответ

5

Попробуйте

Random random = new Random(); 

int randomInt = random.Next(0, 2) 

Макс-значение не будет достигнуто ...

2

Верхняя граница является исключительной и не будет достигнута.

3

Смотрите документацию по этому методу: http://msdn.microsoft.com/en-us/library/2dx6wyd4.aspx диапазона

числа, возвращаемый будет от нуля до нуля. Больше или равно первому значению и меньше второго значения.

2

Random.Next вернет int, поэтому вы всегда получаете 0. Вместо этого используйте Random.NextDouble.

0

попробуйте random.NextDouble(). Там нет ИНТ между 0 и 1.