2014-02-15 131 views
0

你想創建一個方法,將溫度從華氏轉換爲攝氏,反之亦然。你會得到兩件事。首先,將當前的溫度測量值作爲小數點。其次,當前測量所依據的規模。如果溫度以華氏溫度給出,則第二個變量將是'f'。使用以下等式,將其轉換爲攝氏度並返回該值。 C =(F-32)(5/9)。如果溫度以攝氏溫度給出,則第二個變量將是'c'。使用以下公式將其轉換爲華氏度並返回該值。 F =(C(9/5))+32。編碼蝙蝠運動TempConvert

TempConvert(100.0, 'C')→212.0

TempConvert(0.0, 'C')→32.0

TempConvert(22.0, 'C')→71.6

我不能解決這個問題..我需要幫助!

public double TempConvert(double temp,char scale) { 
    double cent=(faren-32)*(5/9); 
    double faren=(cent*(9/5))+32; 

    if (temp==faren) 
     scale = 'f'; 
    else if (temp==cent) 
     scale = 'c'; 
} 

任何想法!請幫忙!!

+1

你爲什麼要在體內設置scale?我認爲'scale'是決定'temp'是否是F或C值的輸入。 – jia103

+0

我是一個初學者,有點從網絡上獲得靈感。我不知道下一步該怎麼做。任何幫助都會有所幫助。 – sciontoygirl

回答

1

下面是一個快速處理它的方法。

public double TempConvert(double temp,char scale) { 
    if (scale=='c') // the current temp is in Celsius 
     return ((temp*9)/5)+32; // fixed for order of operations 
    if (scale=='f') // the current temp is in Fahrenheit 
     return ((temp-32)*5)/9; // fixed for order of operations 
    return -1; // incorrect char selected 
} 

編輯 - 更簡單的方法。

由於您使用雙打,您的整數需要雙打。 Java將5/9視爲整數5除以整數9.分別將它們更改爲5.0和9.0,修復了這一問題。

public double TempConvert(double temp,char scale) { 
    if (scale=='c') 
     return (9.0/5.0)*temp+32; 
    if (scale=='f') 
     return (temp-32)*(5.0/9.0); 
    return -1; 
}