2016-10-01 52 views
-2

我仍在學習http://programmingbydoing.com/a/name-age-and-salary.html我還在學習。掃描儀錯誤。 「線程異常」主「java.util.InputMismatchException」

我收到此錯誤消息。有人可以告訴我如何解決這個問題嗎? 我得到這個錯誤,如果我把數字99.9。但如果我把99或99,9,這不是錯誤。 i get this error

import java.util.Scanner; 

public class NameAgeSalary  
{ 
    public static void main (String[] args) 
    { 
     Scanner keyboard = new Scanner (System.in); 
     String Name; 
     int Age; 
     double Salary; 

    System.out.println("Hello. What is your name?"); 
    Name = keyboard.next(); 
    System.out.println(); 
    System.out.println("Hi, " +Name+ "! How old are you?"); 
    Age = keyboard.nextInt(); 
    System.out.println(); 
    System.out.println("So you're " +Age+ ", eh? That's not old at all! "); 
    System.out.println("How Much do you make," +Name+ " ?"); 
    Salary = keyboard.nextDouble(); 
    System.out.println(); 
    System.out.println(""+Salary+ "! I hope that's per hour not per year! LOL!"); 
} 
} 
+0

你輸入了什麼程序? – SMA

+0

'Scanner scanner = new Scanner(System.in).useLocale(Locale.US);'http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#localized - 值 –

回答

0

如果99和99.9的接受了一倍,但99.9不是,那麼你的位置設置到逗號作爲小數點分隔符,而不是點的值。

例如在美國,價值1,234.56是正確的,而德國的相同數值將表示爲1.234,56。

因此,檢查語言和本地設置,並根據該設置輸入值。

相關問題