Всем привет! Как я уже говорил в прошлый раз, сегодня давайте создадим лотерейную программу. Если вы пропустили первую тренировку Array & Random, ссылка прямо внизу!
[Вопрос] Сгенерируйте программу лотереи по следующим правилам.
- Создайте массив, чтобы сохранить 6 случайных чисел.
- Выберите первые 5 чисел от 1 до 52. Не должно быть одинаковых чисел.
- Последний шестой — это бонусный номер, выберите его от 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
!
На сегодня все ребята! Надеюсь, вам всем понравилось создавать лотерейную программу. В следующий раз попробуем сделать улучшенную лотерейную программу. Спасибо, ребята, увидимся!