0

私は Java が初めてで、言語を学ぼうとしています。私がばかげているなら、私を許してください。

そのため、Math.Pow( ) をテストしていて、2 番目の引数で除算関数を使用すると、両方の引数にどんな値を入れても、結果は常に '1.0' になることがわかりました。ヘルプ?

public static void main(String[] args) {

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

実行: 1.0 ビルド成功 (合計時間: 0 秒)

4

2 に答える 2

5

1/3ゼロです。Math.pow(a,0)1すべてa != 0、特に ですa = 27

1/3除算は、結果が に変換される前に、整数除算を使用して 2 つの整数間で実行されますdouble。二重除算を使用して数値を計算することで、探している結果を得ることができます1.0/3

于 2013-08-31T01:49:05.560 に答える
2

1/3 は整数除算であり、b に等しく設定する前に、まず整数として 0 に評価されます。それは b = 0 になるので、Math.pow(27, 0) = 1 になります。

これを 1.0/3.0 に変更すると、0.3333 になります。これはあなたが望むものです。

于 2013-08-31T01:50:30.977 に答える