【发布时间】:2015-04-09 05:57:46
【问题描述】:
如果我在第一个 Scanner 语句中输入字母,我会收到“错误!!”和“输入一个数字”但不能输入另一个数字。我是初学者,不知道输入语句是否可以在catch语句中使用
import java.util.InputMismatchException;
import java.util.Scanner;
public class excep {
public static void main(String args[]){
int n;
Scanner input=new Scanner(System.in);
try{
System.out.println("ENTER A NUMBER: ");
n=input.nextInt();
}
catch(InputMismatchException e){
System.out.println("ERROR!!! \nENTER A NUMBER :");
n=input.nextInt();
}
}
}
【问题讨论】:
-
你有什么错误吗?
-
这里有一些关于它的东西。 stackoverflow.com/questions/12702076/…
-
是的.... java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.InputMismatchException in thread "main" java.util.InputMismatchException .util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at excep.rajath.main(rajath.java:14)
-
@VinceEmigh 你可以使用
next()而不是nextLine();next()停在任何空白处,无论是否换行。这就是为什么我不相信你需要考虑换行。不过,我还是会使用nextLine()。