Це досить просте Java (хоча, мабуть, застосовно до всіх програмувань) питання:
Math.random()
повертає число між нулем і одиницею.
Якщо я хочу повернути ціле число між нулем і сотнею, я би зробив:
(int) Math.floor(Math.random() * 101)
Між однією і сотнею я би зробив:
(int) Math.ceil(Math.random() * 100)
Але що робити, якщо я хотів отримати число від трьох до п'яти? Чи буде це як наступне твердження:
(int) Math.random() * 5 + 3
Я знаю про nextInt()
в java.lang.util.Random
. Але я хочу навчитися робити це Math.random()
.
Math.ceil
неправильно, це дає неправильний результат при Math.random()
поверненні 0
.
(int)Math.floor(Math.random()*3) + 3