2014-10-23 4 views
0

Java에서 while 루프를 사용하여 x의 결과를 n의 제곱으로 계산하도록 요청 받았습니다. 이것은 내 코드입니다.Java에서 while 루프를 사용하여 무언가의 힘을 계산하십시오.

public static double power(double x, int n){ 
    int i = 1; 
    double y = 1.0; 
    while(i<=n){      
     i = i+1; 
     y = y*x;     
     return y; 
    } 
    return y; 
} 

원래 x를 반환하기 때문에 작동하지 않습니다. 무엇이 잘못 되었습니까? x_x

+0

'power <= 0'일 때는 코드가 작동하지 않습니다. – JoriO

+0

@JoriO 나는 질문이 긍정적 인 힘을 의미한다고 생각하지만 아주 좋은 지적이다. 이것을 추가 할 것입니다. Thx – Deeer

답변

1

첫 번째 곱셈 후에 y를 반환하면 1 * x 값이 반환됩니다.

루프 내부에 y를 반환하지 마십시오. 루프가 완료된 후에 만 ​​리턴하십시오.

while(i<=n){      
    i = i+1; 
    y = y*x;     
    return y; // remove this line 
} 
return y; 
+0

수정 후에도 지수가 높으면 더 좋을 것입니다. –

+0

omg 지금은 감사합니다. – Deeer

관련 문제