Что означает InputMismatchException? - PullRequest
0 голосов
/ 13 июля 2011
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)

Ответы [ 3 ]

3 голосов
/ 13 июля 2011

Пожалуйста, смотрите документы на JavaDoc .

Ответ должен быть ясным:

Брошенный сканером, чтобы указать, что полученный токен несопоставьте шаблон для ожидаемого типа или токен находится вне диапазона ожидаемого типа.

1 голос
/ 13 июля 2011

С документы :

Выдается сканером, чтобы указать, что полученный токен не соответствует шаблону для ожидаемого типа или что токен находится вне диапазона ожидаемого типа.

Так что, возможно, вы позвонили nextInt, но следующий токен - "1.5" или "foo". Вы должны взглянуть на трассировку стека, чтобы точно определить, какой вызов Scanner вызвал проблему, а затем выяснить, каким на самом деле был токен и как вы хотите обработать такого рода ошибки.

0 голосов
/ 13 июля 2011

Вы должны прочитать соответствующий javadoc (например: http://download.oracle.com/javase/1,5.0/docs/api/java/util/Scanner.html). Исключение вызывается, если ввод не соответствует методу, который вы использовали для его получения, например, вы используете getBoolen, но следующее значение не может быть преобразовано в логическое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...