2017-12-28 7 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'를 호출 그것을 멈출 어떤 조건든지 생성 할 것인가? –

+4

아마도 'fahrenheight를 반환합니다 .KelvinCalculation;'? –

답변

2

temperatureInKelvin을 다시 호출 할 필요가 없습니다. fahrenheightToKelvinCalculation에서 계산 한 값을 반환하십시오. 당신의 괄호는 잘못된 것으로, BTW, 참고, 당신은 5/9하여 곱 전에 화씨 값에서 32을 빼해야합니다

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

또는 조건이 참이 아닐 때까지 재귀를 안내하는 조건을 제공해야합니다 (명백한 진술) – user1063108