2013-10-10 55 views
0

我是Java新手,正在嘗試製作一個程序,以查看一個人是否具有正常溫度,而不是太低或太高。錯誤java.util.InputMismatchException

我已經收到此錯誤信息:(我'輸入時雙,而不是INT)

Exception in thread "main" java.util.InputMismatchException 
     at java.util.Scanner.throwFor(Unknown Source) 
     at java.util.Scanner.next(Unknown Source) 
     at java.util.Scanner.nextDouble(Unknown Source) 
     at ekstra217.main(ekstra217.java:15) 

這裏是我的代碼

import java.util.*; 

class temp 
{//klassen start 
    public static void main(String[]args) 
    {//main start 


    Scanner tast=new Scanner(System.in); 

    System.out.println("Write your temperatur!"); 
//normal temperatur is between 36.5 and 37.5 
    double temperatur=tast.nextDouble(); 
    if (temperatur<36.5) 
    { 
    System.out.println("Your temperatur is normal"); 
    } 
    else if(temperature>37.5) 
    {//else if starts 
    System.out.println("You have over normal,you are sick"); 
    }//else if slutter 

    else{ 
    System.out.println("You have normal temperature"); 
    } 
} 
    } 
+5

你在標準輸入進入? –

+4

您的標題非常誤導,我建議您將其更改爲包含「java.util.InputMismatchException」 – VirtualTroll

+3

的東西請記住,指定雙值時,逗號分隔符爲'。'。 (點)而不是','(逗號),就像我們在挪威習慣的那樣);這也適用於通過命令行指定的值。 – Tobb

回答

3

您似乎正在進入一個non-double值作爲您的程序的輸入,因此在執行時遇到InputMismatchException

tast.nextDouble(); 
0

您可能要包裝你的數據讀取到if這樣的:

if (tast.hasNextDouble()) 
    tast.next.Double; 
else { 
    // print something and exit 
    System.out.println("Incorrect temperature value!!!); 
    System.exit(1); 
    } 
相關問題