2013-10-25 80 views
0

我想提示用戶輸入x座標,但是當我寫入一個十進制數字(如2.1)作爲輸入時,這是一個問題。如何解決該問題?掃描儀雙值 - InputMismatchException

 import java.util.Scanner; 

    public class TwoRetangles{ 

    public static void main(String[]args){ 

    Scanner input=new Scanner(System.in); 

     System.out.print("Enter the center x coordinate of retangle = "); 

     double x1=input.nextDouble(); 

     } 
} 

--------------------配置:--------------------

 Enter the center x coordinate of retangle = 2.1 

    Exception in thread "main" java.util.InputMismatchException 

    at java.util.Scanner.throwFor(Scanner.java:909) 

    at java.util.Scanner.next(Scanner.java:1530) 

    at java.util.Scanner.nextDouble(Scanner.java:2456) 

    at TwoRetangles.main(TwoRetangles.java:6) 

    Process completed. 
+1

你想要一個小數或雙? – Ramin

+0

我想要一個雙。 – user2919243

回答

0

沒有error.It在我system.Make工作正常,確保您編譯它right.It是接受value.I嘗試這個代碼,它是印刷2.1:

import java.util.Scanner; 

public class TwoRetangles{ 

    public static void main(String[]args){ 

    Scanner input=new Scanner(System.in); 

    System.out.print("Enter the center x coordinate of retangle = "); 

    double x1=input.nextDouble(); 

    System.out.print(x1); 

     } 
} 
4

你代碼適用於我..掃描儀與您的系統設置綁定,我相信,所以如果它不適用於美國,您不能使用像2.1這樣的小數。

如果是這樣的話,做

Scanner input = new Scanner(System.in).useLocale(Locale.US); 

您將需要進口的java.util。*;