Це досить просте 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