У меня есть этот код, который вычисляет экспоненциальный пример 3⁴ = 81.0, и коды спрашивают пользователя о том, сколько чисел и экспонент он хочет ввести, и когда пользователь вводит числа и экспоненты, и он вводит недопустимый ввод буквой, код будетпоймайте исключение java.util.InputMismatchException и остановитесь.Есть ли какие-нибудь коды, которые могут вернуться к введенным числам и показателю степени для повторного ввода?
Я пробовал булеву вещь, но она не работает, и я ищу эту вещь, но никто не работает.
try {
String[] unicode = {"\u2070", "\u00b9", "\u00b2", "\u00b3", "\u2074", "\u2075", "\u2076", "\u2077", "\u2078", "\u2079"};
System.out.print("Enter how many Numbers and Exponent you want to enter: ");
int userNum = new Scanner(System.in).nextInt();
ArrayList<Integer> num = new ArrayList<>();
ArrayList<Integer> nums = new ArrayList<>();
for (int i = 0; i < userNum; i++) {
System.out.print("Enter a Number: ");
int userNumber = new Scanner(System.in).nextInt();
num.add(userNumber);
System.out.print("Enter the exponent: ");
int userExponent = new Scanner(System.in).nextInt();
nums.add(userExponent);
}
for (int i = 0; i < userNum; i++) {
double answer = num.get(i);
for (int x = 0; x < nums.get(i) - 1; x++) {
answer *= num.get(i);
}
System.out.print(num.get(i));
for (int x = 0; x < String.valueOf(nums.get(i)).length(); x++) {
char g = String.valueOf(nums.get(i)).charAt(x);
String h = String.valueOf(g);
System.out.print(unicode[Integer.parseInt(h)]);
}
System.out.println(" = " + answer);
}
} catch (InputMismatchException exception) {
System.out.println(exception+" Invalid Input. Numbers Only.");
}
}
Я ожидаю, что когда пользователь введет неверный ввод, программа поймает java.util.InputMismatchException и распечатает его и вернется к вводу для повторного ввода
Пример.
Введите номер: 12
Введите экспоненту: asd
java.util.InputMismatchException
Введите экспоненту: 123