2013-08-31 3 views
0

나는 JAVA를 처음 사용하는데, 나는 언어를 배우려고 노력하고있다. 내가 어리 석다면 나를 용서해주십시오.System.out.print (Math.pow (9, 1/3)); 결과 = 1.0; 왜?

그래서 Math.Pow()를 테스트하고 두 번째 인수에서 나누기 함수를 사용하면 두 인수에 모두 값을 넣었을 때 내 결과가 항상 '1.0'이됩니다. 도움?

public static void main(String[] args) { 

    double a= 27 , b = 1/3 ; 
    System.out.println(Math.pow(a,b)); 
} 

실행 : 1.0 BUILD SUCCESSFUL (총 시간 : 0 초)으로

답변

5

1/3은 제로이다. Math.pow(a,0)은 모두 a != 0에 대해 1이고, 특히 a = 27 인 경우입니다.

1/3 나누기는 결과가 double으로 변환되기 전에 정수 나누기를 사용하여 두 정수 사이에서 수행됩니다. 두 부분으로 나누어 번호를 확인하여 원하는 결과를 얻을 수 있습니다. 1.0/3.

+0

오! 알 겠어. 고마워. –

2

1/3은 정수로 나눌 수 있습니다.이 정수는 b로 설정하기 전에 먼저 0으로 평가됩니다. 그러면 b = 0이되므로 Math.pow (27, 0) = 1이됩니다.

1.0/3.0으로 변경하면 0.3333이됩니다. 이것이 당신이 원하는 것입니다.