Это довольно простой вопрос 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