В моем коде Java, показанном ниже, я принимаю ввод данных пользователем двух двойников и заключаю эти значения в try-catch, который обрабатывает InputMismatchException. Я также обернул do-while l oop вокруг этого блока try-catch. Я пытаюсь создать код таким образом, чтобы он обрабатывал случай, когда если пользователь вводит неправильный тип для «number2», то l oop не запускается заново и просит пользователя ввести «number1» на всем протяжении очередной раз. Я долго ломал голову над тем, как это лучше всего реализовать, и открыт для любых отзывов и предложений.
Итак, тестовый пример: пользователь вводит правильный тип для number1, но неправильный тип для number2, и в этом случае, как я могу реализовать код, чтобы он запрашивал только повторный ввод number2 вместо перезапуска всего l oop. Я пробовал вложенные try-catch, вложенные do-while и т. Д. c. Есть предположения?
import java.util.InputMismatchException;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean continueInput = true;
do {
try {
System.out.print("Enter your first number: ");
double number1 = input.nextDouble();
System.out.print("Enter your second number: ");
double number2 = input.nextDouble();
System.out.println("You've entered the numbers " + number1 + " " + number2);
continueInput = false;
}
catch (InputMismatchException ex) {
System.out.println("Try again, a double is required.");
input.nextLine();
}
} while (continueInput);
}
}