Спасибо за отличный урок! Но осталось два вопроса. 1. Как сделать так, чтобы исключить повторяющиеся цифры в генераторе? 2. Как сделать привязку чисел к данным из БД? Допустим, есть простая таблица с колонками: user_id и user_name. Благодаря генератору выводится некий user_id. Необходимо сделать так, чтобы выводилась информация из конкретной ячейки (user_name) со строки с соответствующим id, который был сгенерирован случайно. Благодарю заранее за ответ.
А если при создании своего генератора, при генерации нового числа, создать указатель *ptr на последнее случайное число например? Далее, в return генератора пишем: return ptr++; таким образом указатель укажет на следующую ячейку памяти в которой уже другое число. И так при каждом вызове генератора.
Random random = new Random(); random.nextInt(Math.abs(random.nextInt()) + 1); Math.abs() для того чтобы всегда было положительное число, ведь в ограничитель нельзя указать число меньше 0. + 1 Служит для того чтобы не было 0. Кстати, если не ошибаюсь, в теории, в коде Math.abs(random.nextInt()) может сгенерировать максимально для int число, тогда + 1 вызовет ошибку.
+javaRussia Наверное не так называется, просто люблю использовать свои названия) Секундомер, таймер, очень полезно для того, чтобы совершить некоторое действие через некоторое время. Библиотека TIME если не ошибаюсь(скорее всего ошибаюсь))
Вот моя игра package com.company; import java.lang.String; import java.util.Scanner; import java.util.Random; public class Main { public static void main(String[] args) { Scanner num = new Scanner(System.in); int first; Random random = new Random(); int rand = 0 + random.nextInt(10); System.out.println("Try to win in this game!"); first = num.nextInt(); if (first == rand ) System.out.print("You won! Random number was: " + rand); else System.out.println ("You lose! Random number was: " + rand ); } }
В первом случае будут генерироваться числа от 0 до 5 и затем прибавляется единица, и получаются числа от 1 до 6. Во втором случае генерируются числа от 0 до 5, и метод в таком виде их и выводит в командную строку.
Возможно я опоздал но Когда мы кидаем кубик выподает число от 1-6 А рандом выбирает число от 0 - 6 если мы добавим 1 то ноль никогда не выпадет пример рандом выкинул 5, 5+1=6, 6 число которое напечатается Рандом выкинул 0, 0+1=1, напечатается 1 Я хочу получить рандом число от 100-200 Но при указании max число200 мы получим диапозон 0-200 мы пишем уже не +1 а +100 Выпало 32 32+100=132 Надеюсь понятно )
+Шаукат Абульханов Вы можете отправить файл с расширением .java и человек на другом конце может его запустить в среде разработки или через консоль. Также можно воспользоваться сборщиком проектов типа Apache Maven, который упакует ваш проект в один файл с расширением .jar
+Шаукат Абульханов если вы хотите переслать java-файлы, то они лежат в папке src вашего проекта. С Maven все сложней, его надо сначала установить, а сборка проекта это тема отдельного урока.
Есть интерестное наблюдение. Создаю я цыкл от 0 до 100, для того чтобы мне вывести 100 чисел сгенерированных в случайном порядке, в диапазоне от 900 до 1000. Но программа мне выдает всего 9 значений из этого диапазона. Хотя если задать диапазон от 1 до 100, всё работает нормально, выдает 100 значений.
Регистрируйтесь на курс "Продвинутая Java".
ua-cam.com/video/rRe1vT0SDD8/v-deo.html
Подскажите почему когда в классе Random в методе next.int() вы установили 10 перестали выдаваться числа меньше нуля ?
Искал ролик про то, как сгенерировать рандомное число в C#. В итоге нашел ролик с ответом на мой вопрос. Большое спасибо!👍
Спасибо Наиль! Всё ещё актуально!
Спасибо за работу!
Красавчик! Спасибо!
Хороший урок, спасибо автору!!!!!
Спасибо ,последняя функция помогла в д.з
Thank you for explain)
спасибо!
Спасибо за отличный урок! Но осталось два вопроса. 1. Как сделать так, чтобы исключить повторяющиеся цифры в генераторе? 2. Как сделать привязку чисел к данным из БД? Допустим, есть простая таблица с колонками: user_id и user_name. Благодаря генератору выводится некий user_id. Необходимо сделать так, чтобы выводилась информация из конкретной ячейки (user_name) со строки с соответствующим id, который был сгенерирован случайно. Благодарю заранее за ответ.
Отличное видео. Жду новые видео.
А если при создании своего генератора, при генерации нового числа, создать указатель *ptr на последнее случайное число например? Далее, в return генератора пишем: return ptr++; таким образом указатель укажет на следующую ячейку памяти в которой уже другое число. И так при каждом вызове генератора.
Можно было показать ещё как генерить например от -10 до 10
System.out.println(rand.nextInt(10) - 10);
А как направить путь к последнему сгенерированному числу? Если это не затруднит
Конечно же спасибо, но у меня по другому получилось
Здравствуйте
alishev у меня вопрос, а будет урок как сделать чтоб генерировал случайные числа без повтора?
Тогда это уже будут не случайные)
Извините пожалуйста а как сделать если например делаете 2 System.out.println выходит 2 одинаковых значения как избежать этого?
классный урок) а как сделать рандом, ограниченный рандомным числом?
Random random = new Random();
random.nextInt(Math.abs(random.nextInt()) + 1);
Math.abs() для того чтобы всегда было положительное число, ведь в ограничитель нельзя указать число меньше 0. + 1 Служит для того чтобы не было 0.
Кстати, если не ошибаюсь, в теории, в коде Math.abs(random.nextInt()) может сгенерировать максимально для int число, тогда + 1 вызовет ошибку.
Каеф
Спасибо за ответ!)
+Evgeniy Shypitsyn Пожалуйста!
+javaRussia Можно будет ди разобрать тайминг в Java?
+Evgeniy Shypitsyn что такое тайминг?
+javaRussia Наверное не так называется, просто люблю использовать свои названия) Секундомер, таймер, очень полезно для того, чтобы совершить некоторое действие через некоторое время. Библиотека TIME если не ошибаюсь(скорее всего ошибаюсь))
+Evgeniy Shypitsyn Ты говоришь о том, как представлять в java даты и время или о замере времени исполнения программы?
Если кто зайдёт смутится. Чтобы задать интервал в объекте Random random.nextInt(max-min)+min
Как сделать так что бы программа выбирала из спискс моих цифр?
для начала сделай так чтобы j = рандомным числом
потом System.out.println("рандомное число" + chisla[j])
переменные можно и по другому назвать
Вот моя игра
package com.company;
import java.lang.String;
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
int first;
Random random = new Random();
int rand = 0 + random.nextInt(10);
System.out.println("Try to win in this game!");
first = num.nextInt();
if (first == rand )
System.out.print("You won! Random number was: " + rand);
else System.out.println ("You lose! Random number was: " + rand );
}
}
почему не устанавливается джава машина и среды под нее? виндовс 10. ошибки выдает
а в чем разница random.nextInt(6)+1; или random.nextInt(6);
В первом случае будут генерироваться числа от 0 до 5 и затем прибавляется единица, и получаются числа от 1 до 6. Во втором случае генерируются числа от 0 до 5, и метод в таком виде их и выводит в командную строку.
Не давно начал изучать java, можно подробней зачем писать +1, на примере кубика
Возможно я опоздал но
Когда мы кидаем кубик выподает число от 1-6
А рандом выбирает число от 0 - 6
если мы добавим 1 то ноль никогда не выпадет пример
рандом выкинул 5, 5+1=6, 6 число которое напечатается
Рандом выкинул 0, 0+1=1, напечатается 1
Я хочу получить рандом число от 100-200
Но при указании max число200 мы получим диапозон 0-200
мы пишем уже не +1 а +100
Выпало 32
32+100=132
Надеюсь понятно )
@@hedkrabhl4303 да, немного застрял тогда, сейчас даже забавно, что не смог сразу разобраться
опять я со своими вопросиками. как можно,написав программу в intellij idea, превратить ее в файл. а потом отправить? если вас не затруднит конечно.
+Шаукат Абульханов Вы можете отправить файл с расширением .java и человек на другом конце может его запустить в среде разработки или через консоль.
Также можно воспользоваться сборщиком проектов типа Apache Maven, который упакует ваш проект в один файл с расширением .jar
+javaRussia благодарю Вас за ответ. вот, если бы последовательность нажатия кнопочек подсказали...)
+Шаукат Абульханов если вы хотите переслать java-файлы, то они лежат в папке src вашего проекта. С Maven все сложней, его надо сначала установить, а сборка проекта это тема отдельного урока.
+javaRussia если я правильно понял вас, то я кликаю src правой кнопкой мыши и потом кликаю...?
+Шаукат Абульханов Заходите в папку src, копируете все файлы там и отправляете по сети.
От1до20
Это можно как то с стрингом сделать?
Есть интерестное наблюдение. Создаю я цыкл от 0 до 100, для того чтобы мне вывести 100 чисел сгенерированных в случайном порядке, в диапазоне от 900 до 1000. Но программа мне выдает всего 9 значений из этого диапазона. Хотя если задать диапазон от 1 до 100, всё работает нормально, выдает 100 значений.
System.out.println(rand.nextInt(101)+900);
и не работает
опять нет такого класса
System.out.println(rand.nextInt(1, 6)); //вывод от 1 до 6...