Всем привет! Как я уже говорил в прошлый раз, сегодня давайте создадим лотерейную программу. Если вы пропустили первую тренировку Array & Random, ссылка прямо внизу!



[Вопрос] Сгенерируйте программу лотереи по следующим правилам.

  1. Создайте массив, чтобы сохранить 6 случайных чисел.
  2. Выберите первые 5 чисел от 1 до 52. Не должно быть одинаковых чисел.
  3. Последний шестой — это бонусный номер, выберите его от 1 до 10.

Попробуйте решить ее самостоятельно, ответ ниже!

Я создал массив с именем happyBall длиной 6. И я использовал оператор if, чтобы отделить первые пять чисел от последнего бонусного числа. Затем я объявил две переменные для генерации случайных чисел с разным диапазоном. И причина, по которой я добавил 1 к каждой переменной, состоит в том, чтобы диапазон случайных чисел начинался с 1 и заканчивался на каждых 52 и 10.

Но, как вы видите, иногда появляются одни и те же цифры. Давайте исправим это сейчас.

Я добавил еще один оператор for для подсчета индексов перед индексом i. И проверьте, есть ли в массиве одинаковые числа с rb. Если есть, сделайте i меньше, чтобы он мог снова выбрать другой rb.

И здесь вы увидите break; в коде, это означает, что я собираюсь завершить текущий цикл. В этом случае цикл, который заканчивается break, будет вторым оператором for, который имеет переменную j.
Допустим, i стал 4 из-за первого оператора for, и массив выглядит так, как показано ниже.

Если мы получили 9 как rb, то же самое со значением индекса [0], поэтому i станет 3 из-за уменьшения i--. Здесь мы хотим, чтобы второй оператор for был концом, поэтому i может встретиться с i++ в первом операторе for и снова стать 4! Бесполезно проверять обратно, когда мы уже нашли такое же число в первом.
Поэтому я использовал break; для завершения второго цикла, когда он находит то же значение с rb !

На сегодня все ребята! Надеюсь, вам всем понравилось создавать лотерейную программу. В следующий раз попробуем сделать улучшенную лотерейную программу. Спасибо, ребята, увидимся!