2017-12-28 19 views
-5

このコード行を実行しようとすると、temperatureInKelvinの初期化が「無限再帰」というメッセージで強調表示され、これを修正する方法は考えられません。Java - 無限再帰

double temperatureInKelvin(double temperatureInFahrenheight) { 
    double fahrenheightToKelvinCalculation = (temperatureInFahrenheight - 32.0 * 5.0/9.0 + 273.15); 
    return temperatureInKelvin(fahrenheightToKelvinCalculation); 
} 
+1

あなたはなし 'メソッドの内部temperatureInKelvin'' temperatureInKelvin'呼び出すことをどう思いますか:あなたのカッコが間違っている、とあなたは5/9を乗じ前に、華氏値から32を引くべきだとところで注意、それを止めるどんな条件が生成されますか? –

+4

おそらく '戻りfahrenheightToKelvinCalculation;'? –

答えて

2

temperatureInKelvinを再呼び出しする必要はありません。 fahrenheightToKelvinCalculationで計算した値を返してください。

double temperatureInKelvin(double temperatureInFahrenheight){ 
    return (temperatureInFahrenheight - 32.0) * 5.0/9.0 + 273.15; 
} 
+0

か、その条件が真でない限り再帰を導く条件を提供する必要があります(明白なことの種類) – user1063108

関連する問題