Теоретически, 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()
вместо этого?