InputMismatchException是什么意思?

Exception in thread "main" java.util.InputMismatchException 

在我使用扫描仪类的时候它对我来说意味着什么? 完整的堆栈跟踪是

 Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at ParseString.main(ParseString.java:9) 

请参阅JavaDoc上的文档。

答案应该是明确的:

由扫描程序抛出,表示检索到的令牌与预期类型的​​模式不匹配,或者令牌超出预期类型的​​范围。

来自文档 :

由扫描程序抛出,表示检索到的令牌与预期类型的​​模式不匹配,或者令牌超出预期类型的​​范围。

所以也许你已经调用了nextInt但下一个标记是“1.5”或“foo”。 您应该查看堆栈跟踪以确切了解哪个Scanner调用导致问题,然后确定令牌实际是什么,以及您希望如何处理这种类型的故障。

您应该阅读相应的javadoc(例如: http : //download.oracle.com/javase/1,5.0/docs/api/java/util/Scanner.html )。 如果输入与用于获取它的方法不匹配,则会引发exception,例如,您使用getBoolen,但下一个值无法转换为布尔值。