Как не дать сканеру генерировать исключения, если введен неправильный тип?
Вот пример кода:
import java.util.Scanner;
class In
{
public static void main (String[]arg)
{
Scanner in = new Scanner (System.in) ;
System.out.println ("how many are invading?") ;
int a = in.nextInt() ;
System.out.println (a) ;
}
}
Если я запускаю программу и даю ейint
лайк4
, тогда все идет хорошо.
С другой стороны, если я отвечуtoo many
это не смеется над моей забавной шуткой. Вместо этого я получаю это (как и ожидалось):
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:819)
at java.util.Scanner.next(Scanner.java:1431)
at java.util.Scanner.nextInt(Scanner.java:2040)
at java.util.Scanner.nextInt(Scanner.java:2000)
at In.main(In.java:9)
Есть ли способ заставить его игнорировать записи, которые не являются целочисленными, или повторять запрос «Сколько вторжения?» Я хотел бы знать, как сделать оба из них.