При использовании случайных чисел в Java - PullRequest
0 голосов
/ 03 декабря 2011

После того, как я импортировал математический класс ...

Math.random ()

Я запутался в том, как определить диапазон чисел.Я знаю, что вы можете умножить, а затем добавить / вычесть, но логика не имеет смысла для меня, и я также не слишком уверен, как сделать диапазон.Могу ли я получить помощь?

Ответы [ 5 ]

2 голосов
/ 03 декабря 2011

Если вы хотите диапазон [min, max], то вы можете использовать эту формулу:

Math.random() * (max - min) + min
1 голос
/ 03 декабря 2011
random()

Возвращает двойное значение с положительным знаком, большее или равное 0,0 и меньшее 1,0.

Создайте свое собственное расположение, например, если оно меньше 50, умножьте на 50.

0 голосов
/ 03 декабря 2011

Вы должны описать свою проблему подробнее.Так или иначе, в Java есть класс, который создан специально для работы со случайными числами.Что java.util.Random.Для получения более подробной информации см. документацию по Java .Он имеет много методов, которые помогают вам работать со случайными числами разными способами.

Некоторые из методов nextInt(int limit) будут давать случайное значение между нулем (включительно) и пределом (исключение).Если вам нужны действительные числа, то у вас есть nextDouble(), который даст значение от 0,0 до 1,0.

0 голосов
/ 03 декабря 2011

Math.random () возвращает удвоение в диапазоне от 0 до 1. Итак, допустим, вы хотели получить число от 0 до 10:

double random = Math.random()*10;

Или, может быть, диапазон от -10 до 10:

double random = (Math.random()-0.5)*20;

Обратите внимание, как я сделал * 20 вместо 10. Вычитание 0,5 вернуло бы значение в диапазоне от -0,5 до 0,5, поэтому 0,5 * 20 = 10 и -0,5 * 20 = -10.

0 голосов
/ 03 декабря 2011

Если вы пытаетесь получить диапазон целых чисел от 0 до n, посмотрите на java.util.Random nextInt (int n)

...