1

Java では、int を double にキャストしてから int に戻そうとしています。

このエラーが発生しています:

unexpected type
          (double)(result) =  Math.pow((double)(operand1),(double)(operand2));
          ^
  required: variable
  found:    value

このコードから:

(double)(result) =  Math.pow((double)(operand1),(double)(operand2));
return (int)(result);

エラーメッセージは何を意味していますか?

4

5 に答える 5

2

Math.pow を呼び出すために int を double にキャストする必要はありません。

package test;

public class CastingTest {
    public static int exponent(int base, int power){
        return ((Double)Math.pow(base,power)).intValue();
    }
    public static void main(String[] arg){
        System.out.println(exponent(5,3));
    }
}
于 2013-09-16T03:43:49.993 に答える
0

あなたはおそらく次のことを意図しています:

double result =  Math.pow((double)(operand1),(double)(operand2));
return (int)(result);

または同等ですが、より簡単に:

double result =  Math.pow((double)operand1,(double)operand2);
return (int)result;

あるいは:

return (int)Math.pow((double)operand1,(double)operand2);
于 2013-09-16T03:55:18.403 に答える