Помогите расшифровать строчку:
int randomNumber = new Random().nextInt(inputNumber + 1);
- переменной int присваивается ...
linx
4 уровень
Шифр
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
27 ноября 2022, 20:19
Случайное число от 0 включительно до inputNumber + 1 не включительно
+1
linx
22 декабря 2022, 21:04
ответ не полностью понял:
"случайное число от 0 включительно(значит "ноль" может быть среди случайных чисел) , а "inputNumber + 1" не включительно рандомных чисел"
я правильно понял?
а ещё по поводу вопроса (расшифровать строчку):
int randomNumber = new Random().nextInt(inputNumber + 1);
я имел ввиду расшифровку таким образом:
int(тип переменной) randomNumber(имя переменной) =(присваивается) new(новый обьек) ... (можно продолжить?)
0
KIRAРазработчик в prosv.ruExpert
22 декабря 2022, 21:29решение
Создают объект класса Random и у объекта вызывают метод nextInt() передавая в него число + 1
Сам метод возвращает случайное число от 0 включительно до того числа что ему передали не включая
Если вызвать метод и передать 5, метод вернет один из вариантов 0,1,2,3,4
nextInt(int bound)
+2
linx
22 декабря 2022, 22:35
это значит что если в метод nextInt() передано число 1 , то возвратить может только 0 ?
0
KIRAРазработчик в prosv.ruExpert
22 декабря 2022, 23:02
Да
+1
linx
23 декабря 2022, 00:27
отлично;
а в методе: nextInt(inputNumber +1),
если к примеру inputNumber 2 , то к 2 плюсуется 1 и плучается в методе 3?
0
KIRAРазработчик в prosv.ruExpert
23 декабря 2022, 07:33
Да и метод вернет 0-2
+1
linx
23 декабря 2022, 11:03
KIRA, а метод nextInt всегда возращает рандомное число меньшее на 1 ?
или магия не в методе , а в числе +1, и тогда , если будет +2, то рандом выбирает не используя последние 2числа ?
0
hidden #598481
23 декабря 2022, 12:26
Магии никакой нет, метод всегда не будет включать верхнюю границу. Кира тебе об этом уже написала в третьем комментарии, который ты отметил полезным, посмотри ещё разок.
+1
linx
23 декабря 2022, 13:30
да вижу , спасибо
int count = 1;
while (true) {
int randomNumber = new Random().nextInt(inputNumber + 1);
if (inputNumber == randomNumber) {
System.out.println("Попытка №" + count);
break;
}
count++;
}
если к примеру inputNumber (5) ,
то пока цикл не завершиться inputNumber всё время будет 5 ?
и цикл остановиться только когда условие : if( inputNumber == randomNumber) будет соблюдено?
я правильно понял?
0