Member 13455134 Ответов: 1

Как настроить мое логическое значение?


Напишите полную Java-программу, имитирующую лотерейную игру. Программа предлагает пользователю ввести 3-значное целое число и определяет, выигрывает ли пользователь в соответствии с правилами...
- если пользовательский ввод совпадает с номером лотереи в точном порядке, премия составляет 10 000.
- Если все цифры совпадают со всеми цифрами в лотерейном номере, премия составляет 3000.
- Если 2 цифры в пользовательском вводе совпадают с двумя цифрами в лотерейном номере, премия составляет 1000.

Выше находится подсказка к моей программе. Я успешно сгенерировал случайное 3-значное число лото и разделил его на 3 отдельных числа. Однако я не знаю, как написать заявления if для последних 2 пунктов маркера. Когда я пишу его по-своему, он говорит, что мне нужно что-то сделать с булевым, с которым я очень незнаком. Могу я получить помощь?

Что я уже пробовал:

if (userNumber == lottoNumber) {
			System.out.println("Congrats! You matched completely! Your reward is $10,000!");
		}
else if ((n1 == r1 || r2 || r3) && (n2 == r1 || r2 || r3) ) 

n1-3 = индивидуальные номера пользователей
r1-3 = лотерейные номера

1 Ответов

Рейтинг:
7

OriginalGriff

Ты не можешь это написать:

n == r1 || r2
Система не понимает, что вы имеете в виду.
Вместо этого вам нужно написать его от руки:
n == r1 || n == r2

Но... здесь вам нужно подумать немного более тщательно. Что делать, если выигрышный номер равен "123", а пользователь вводит"222"?
Должен ли он получить 3-значный выигрыш в неправильном порядке?
Вам нужно проверить каждую цифру по отдельности и исключить совпадения, чтобы предотвратить их повторный подсчет.