2016-07-01 5 views
-2

Ich habe dieses Problem bei der Codierung Java und weiß nicht, wie man es löst. Jede Hilfe wäre großartig. Hier ist ein Teil meines Codes. Und der Fehler ist in letzter Zeit.Ausnahme im Thread "Haupt" java.util.InputMismatchException bei java.util.Scanner.throwFor (Scanner.java: 864)

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

Sind Sie sicher, dass die für den Scanner bereitgestellten Eingabe-Tokens vom erwarteten Typ sind? Was ist der Typ von "n"? –

+0

InputMismatchException bedeutet, dass Sie nicht den benötigten Typ bereitstellen: Sie analysieren int, geben aber etwas anderes ein. – user8

+0

n ist eine öffentliche statische int –

Antwort

1

Sie erhalten eine InputMismatchException, wenn Sie versuchen Scanner::nextInt auf eine Zeichenfolge aufzurufen, die nicht in einen int analysiert werden kann.

Verwandte Themen