Метод Java Random возвращает отрицательные числа? - PullRequest
0 голосов
/ 03 октября 2019

Я хотел бы знать, что если я попытаюсь получить случайное целое число, используя следующий метод, должно ли оно вернуть отрицательное значение?

int value = new Random().nextInt(bound);

Ответы [ 3 ]

5 голосов
/ 03 октября 2019

Нет, Random().nextInt(bound) создает только положительные числа от 0 до указанного вами числа. Если вы хотите отрицательное число, вам нужно будет умножить случайное число на -1.

int number = new Random().nextInt(bound) * -1;

Random().nextInt(), с другой стороны, может вернуть вам отрицательное число.

0 голосов
/ 03 октября 2019

Если вы используете класс Random из пакета java.util, вы должны указать тип ожидаемых чисел, в то же время устанавливая верхнюю границу. Ваш ответ будет где-то от 0 до меньше, чем верхний предел. nextInt () из класса Random возвращает целочисленное значение от 0 до аргумента-1. Точно так же мы можем использовать методы как nextDouble и nextLong (). Возвращаемые значения всегда положительны или равны нулю. Теперь, если вам нужны отрицательные значения, мы можем произвольно установить счетчик для отрицательных чисел. Скажем, одно целое значение, которое генерируется случайным образом и проверяет его на нечетность / четность, чтобы отрицать число.

Другой подход заключается в использовании метода Math.random (). Этот метод возвращает число, равное или большее 0 и меньшее 1. Мы можем использовать приведение типов для целочисленных случайных значений, иначе по умолчанию мы получим двойные значения. PS Проверьте документацию оракула для лучшего понимания этих классов и методов.

0 голосов
/ 03 октября 2019

Если вам нужно сочетание положительного и отрицательного, вы можете использовать что-то вроде этого:

int number = new Random().nextInt(bound);
if (number % 2 == 0) {
    number *= -1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...