2016-08-01 7 views
0

Ich möchte eine doppelte Anzahl von Standardeingabe lesen, aber ich bekomme immer diese Ausnahme:mit Scanner in Java von Console

java.util.InputMismatchException

import java.util.Scanner; 

public class ScanDouble { 

    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     double d = scan.nextDouble(); 
     System.out.println("Double: " + d); 
    } 
} 

Wenn Die Eingabe ist Integer, es ist okay, aber wenn doppelt, bekomme ich die Ausnahme.

Exception in thread "main" java.util.InputMismatchException bei java.util.Scanner.throwFor (Scanner.java:864) bei java.util.Scanner.next (Scanner.java:1485) bei java.util.Scanner.nextDouble (Scanner.java:2413) bei ScanDouble.main (ScanDouble.java:10)

+1

Wie sieht Ihre Eingabe aussehen? – Flown

+1

Was ist Ihre Eingabe, was ist die Ausnahme? –

+0

Meine Eingabe ist wie folgt: 10.0 Die Ausnahme ist oben gezeigt. – PyVas

Antwort

3

Denken es ein Problem mit dem Dezimalzeichen ist. Versuchen Sie, den Eingang 10,0

Wenn Sie den Wert mit Punkt scannen möchten, stellen Sie die locale UK locale:

Scanner scan = new Scanner(System.in); 
scan.useLocale(Locale.UK); 
double d = scan.nextDouble(); 
System.out.println("Double: " + d);