2010-11-22 5 views

ответ

5

В теории, Math.random() всегда будет возвращать значение, большее или равное 0, и строго меньше 1.

таким образом, использование (int) Math.ceil(Math.random() * 5) фактически должны дать вам 0, 1, 2, 3, 4, 5. Однако, любое значение, возвращаемое из Math.random() кроме именно 0 будет давать значение 1 или более после вызова Math.ceil() - так вы часто будете видеть 0. (Вам повезет, если вы найдете , но это определенно возможно.) Увидеть 5 легко - вы получите, что в любое время Math.random() возвращает значение больше 0,8.

Есть ли причина, по которой вы не используете Random.nextInt()?

+0

Хотя это должно дать вам 0 очень, очень редко. – rob

+0

Я не знаком с Random.nextInt() - это лучший способ создать случайный номер #? – Sapp

+0

@rob: Я просто добавлял это :) @Sapp: Да. Это дает вам намного больше контроля над семенами и т. Д., * И * полезные методы для получения целых чисел в диапазоне и т. Д. –

Смежные вопросы