Я пытаюсь создать цикл while, в котором пользователь имеет в общей сложности три попытки ввести допустимое число. Я не понимаю, как система распознает, что перед отображением сообщения были сделаны 3 недопустимые попытки. Производятся классы, переменные и объекты сканера. После трех попыток я хочу сказать «Больше не пытается». У меня уже есть программа, написанная, чтобы использовать вход пользователя для количества, если он действителен. Это просто, если они вводят три недопустимые попытки. Пока цикл с итерацией
Updated code:
int quantity = 0;
// Get user's desired amount of lemonade cups
System.out.print("Hello " + name + ". How many cups of lemonade can I get you? ");
quantity = keyboard.nextInt(); // Store amount of cups wanted
int attempts = 0;
int maxAttempts = 3;
double subTotal = quantity * lemonadeCost;
double totalTax = subTotal * 0.08;
double totalPrice = subTotal + totalTax;
while (attempts < maxAttempts) {
if (quantity < 1 || quantity >= 20) {
System.out.println("That is an invalid amount, please try again");
quantity = keyboard.nextInt(); }
else {
System.out.println("Subtotal: " + defaultFormat.format(subTotal));
System.out.println("Tax: " + defaultFormat.format(totalTax));
System.out.println("Total: " + defaultFormat.format(totalPrice));
}
attempts++;
if (attempts >= 3) {
System.out.print ("No lemonade for you");
break;
}
// Ask for user's payment method
Scanner method = new Scanner(System.in);
System.out.println("How would you like to pay? Enter 'm' for money, 'c' for credit or 'g' for gold. ");
String payment = method.nextLine();
Спасибо за помощь всем. Я смоделировал свой код после примера CodeRunner. Это казалось самым простым и подходящим для того, что меня просили сделать. Это то, что у меня есть для моего кода, однако он не работает должным образом. После второй недействительной попытки он просто попросит пользователя, как они хотят платить. Если я выберу действительный номер, квитанция будет напечатана без остановок. Кроме того, должен ли метод оплаты быть в инструкции else? –
Итак, я удалил продолжение; и он прекратил печать без остановок. –