2016-07-01 4 views
-2

Javaをコーディングするときにこの問題があり、解決方法がわかりません。どんな助けも素晴らしいだろう。ここに私のコードの一部です。そして、エラーは最後です。スレッド「main」の例外java.util.Scanner.throwFor(Scanner.java:864)のjava.util.InputMismatchException

Scanner scan = new Scanner(System.in); 

    String name = null; 

    while (scan.hasNextLine()) { 

     n = scan.nextInt(); //line 37 
     m = scan.nextInt(); 

     if (n == -1 && m == -1) { 
      break; 
     } 
     init(); 

     for (int i = 0; i < n; i++) { 
      name = scan.next(); 
      course.put(name, i); 
     } 
     ... 
    p[1] = 1; 
    for (int i = 2; i <= 12; ++i) 
     p[i] = p[i - 1] << 1; 

    input();//line 117 
    solve(); 


Exception in thread "main" java.util.InputMismatchException 
at java.util.Scanner.throwFor(Scanner.java:864) 
at java.util.Scanner.next(Scanner.java:1485) 
at java.util.Scanner.nextInt(Scanner.java:2117) 
at java.util.Scanner.nextInt(Scanner.java:2076) 
at Graduate.graduateProj.input(graduateProj.java:37) 
at Graduate.graduateProj.main(graduateProj.java:117) 
+0

スキャナに入力された入力トークンが予想されるタイプのものであることを確認してください。「n」のタイプは何ですか? –

+0

InputMismatchExceptionは、必要な型を指定しないことを意味します。intを解析しますが、何か他のものを入力します。 – user8

+0

nはpublic static intです。 –

答えて

1

あなたはint型に解析できない文字列にScanner::nextIntをコールしようとすると、InputMismatchExceptionを取得します。

関連する問題