Спасибо за отличный урок! Но осталось два вопроса. 1. Как сделать так, чтобы исключить повторяющиеся цифры в генераторе? 2. Как сделать привязку чисел к данным из БД? Допустим, есть простая таблица с колонками: user_id и user_name. Благодаря генератору выводится некий user_id. Необходимо сделать так, чтобы выводилась информация из конкретной ячейки (user_name) со строки с соответствующим id, который был сгенерирован случайно. Благодарю заранее за ответ.
А если при создании своего генератора, при генерации нового числа, создать указатель *ptr на последнее случайное число например? Далее, в return генератора пишем: return ptr++; таким образом указатель укажет на следующую ячейку памяти в которой уже другое число. И так при каждом вызове генератора.
Возможно я опоздал но Когда мы кидаем кубик выподает число от 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 Надеюсь понятно )
Вот моя игра 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, и метод в таком виде их и выводит в командную строку.
Random random = new Random(); random.nextInt(Math.abs(random.nextInt()) + 1); Math.abs() для того чтобы всегда было положительное число, ведь в ограничитель нельзя указать число меньше 0. + 1 Служит для того чтобы не было 0. Кстати, если не ошибаюсь, в теории, в коде Math.abs(random.nextInt()) может сгенерировать максимально для int число, тогда + 1 вызовет ошибку.
+Шаукат Абульханов Вы можете отправить файл с расширением .java и человек на другом конце может его запустить в среде разработки или через консоль. Также можно воспользоваться сборщиком проектов типа Apache Maven, который упакует ваш проект в один файл с расширением .jar
+Шаукат Абульханов если вы хотите переслать java-файлы, то они лежат в папке src вашего проекта. С Maven все сложней, его надо сначала установить, а сборка проекта это тема отдельного урока.
+javaRussia Наверное не так называется, просто люблю использовать свои названия) Секундомер, таймер, очень полезно для того, чтобы совершить некоторое действие через некоторое время. Библиотека TIME если не ошибаюсь(скорее всего ошибаюсь))
Регистрируйтесь на курс "Продвинутая Java".
ruclips.net/video/rRe1vT0SDD8/видео.html
Подскажите почему когда в классе Random в методе next.int() вы установили 10 перестали выдаваться числа меньше нуля ?
Спасибо за отличный урок! Но осталось два вопроса. 1. Как сделать так, чтобы исключить повторяющиеся цифры в генераторе? 2. Как сделать привязку чисел к данным из БД? Допустим, есть простая таблица с колонками: user_id и user_name. Благодаря генератору выводится некий user_id. Необходимо сделать так, чтобы выводилась информация из конкретной ячейки (user_name) со строки с соответствующим id, который был сгенерирован случайно. Благодарю заранее за ответ.
Хороший урок, спасибо автору!!!!!
Красавчик! Спасибо!
Спасибо за работу!
Здравствуйте
alishev у меня вопрос, а будет урок как сделать чтоб генерировал случайные числа без повтора?
Тогда это уже будут не случайные)
А если при создании своего генератора, при генерации нового числа, создать указатель *ptr на последнее случайное число например? Далее, в return генератора пишем: return ptr++; таким образом указатель укажет на следующую ячейку памяти в которой уже другое число. И так при каждом вызове генератора.
Отличное видео. Жду новые видео.
Если кто зайдёт смутится. Чтобы задать интервал в объекте Random random.nextInt(max-min)+min
Thank you for explain)
Искал ролик про то, как сгенерировать рандомное число в C#. В итоге нашел ролик с ответом на мой вопрос. Большое спасибо!👍
Извините пожалуйста а как сделать если например делаете 2 System.out.println выходит 2 одинаковых значения как избежать этого?
Не давно начал изучать 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 да, немного застрял тогда, сейчас даже забавно, что не смог сразу разобраться
Вот моя игра
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 );
}
}
а в чем разница random.nextInt(6)+1; или random.nextInt(6);
В первом случае будут генерироваться числа от 0 до 5 и затем прибавляется единица, и получаются числа от 1 до 6. Во втором случае генерируются числа от 0 до 5, и метод в таком виде их и выводит в командную строку.
Каеф
почему не устанавливается джава машина и среды под нее? виндовс 10. ошибки выдает
А как направить путь к последнему сгенерированному числу? Если это не затруднит
классный урок) а как сделать рандом, ограниченный рандомным числом?
Random random = new Random();
random.nextInt(Math.abs(random.nextInt()) + 1);
Math.abs() для того чтобы всегда было положительное число, ведь в ограничитель нельзя указать число меньше 0. + 1 Служит для того чтобы не было 0.
Кстати, если не ошибаюсь, в теории, в коде Math.abs(random.nextInt()) может сгенерировать максимально для int число, тогда + 1 вызовет ошибку.
System.out.println(rand.nextInt(1, 6)); //вывод от 1 до 6...
Можно было показать ещё как генерить например от -10 до 10
System.out.println(rand.nextInt(10) - 10);
Спасибо Наиль! Всё ещё актуально!
От1до20
Конечно же спасибо, но у меня по другому получилось
Это можно как то с стрингом сделать?
Спасибо ,последняя функция помогла в д.з
спасибо!
Как сделать так что бы программа выбирала из спискс моих цифр?
для начала сделай так чтобы j = рандомным числом
потом System.out.println("рандомное число" + chisla[j])
переменные можно и по другому назвать
опять я со своими вопросиками. как можно,написав программу в intellij idea, превратить ее в файл. а потом отправить? если вас не затруднит конечно.
+Шаукат Абульханов Вы можете отправить файл с расширением .java и человек на другом конце может его запустить в среде разработки или через консоль.
Также можно воспользоваться сборщиком проектов типа Apache Maven, который упакует ваш проект в один файл с расширением .jar
+javaRussia благодарю Вас за ответ. вот, если бы последовательность нажатия кнопочек подсказали...)
+Шаукат Абульханов если вы хотите переслать java-файлы, то они лежат в папке src вашего проекта. С Maven все сложней, его надо сначала установить, а сборка проекта это тема отдельного урока.
+javaRussia если я правильно понял вас, то я кликаю src правой кнопкой мыши и потом кликаю...?
+Шаукат Абульханов Заходите в папку src, копируете все файлы там и отправляете по сети.
Спасибо за ответ!)
+Evgeniy Shypitsyn Пожалуйста!
+javaRussia Можно будет ди разобрать тайминг в Java?
+Evgeniy Shypitsyn что такое тайминг?
+javaRussia Наверное не так называется, просто люблю использовать свои названия) Секундомер, таймер, очень полезно для того, чтобы совершить некоторое действие через некоторое время. Библиотека TIME если не ошибаюсь(скорее всего ошибаюсь))
+Evgeniy Shypitsyn Ты говоришь о том, как представлять в java даты и время или о замере времени исполнения программы?
и не работает
опять нет такого класса