Я пытался написать программу, которая запрашивает у пользователя чтение двух целых чисел и отображает их сумму, и моя программа должна попросить пользователя прочитать номер снова, если вход неверен. Вот что я придумал:Не удается ввести NumberFormatException
import java.util.*;
public class NumFormatException {
public static void main(String[] args) throws NumberFormatException {
Scanner input=new Scanner(System.in);
System.out.println("Enter 2 integers: ");
int num1=0;
int num2=0;
boolean isValid = false;
while (!isValid) {
try
{
num1=input.nextInt();
num2=input.nextInt();
isValid=true;
}
catch(NumberFormatException ex)
{
System.out.println("Invalid input");
}
}
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
}
}
Моя главная цель состоит в том, чтобы поставить пользователя в ситуации повторно ввести целое число, если вход неправильно. Когда я ввожу два целых числа, работа работает хорошо, но моя проблема связана с исключением: когда я ввожу, например, a вместо целого числа, моя программа разбилась.
его '' InputMismatchException' не NumberFormatException'. Поскольку вы не конвертируете 'string' в' int' здесь. – Satya
@Satya Когда я помещаю InputMismatchException вместо numberFormatException, программа печатает «Invalid Input» бесконечное время! –