3

数値2の指数の結果を出力するプログラムを作成しようとしていますが、10回出力したいと思います。Math.pow(x、y)メソッドを使用して指数の値を計算するメソッドを作成したいと思います。

2の0の累乗=12
の1の累乗=22の2
の累乗=4

いくつか質問があります。以下のように、forループでMath.powメソッドを使用できますか?forループ内のメソッドMath.pow(x、y)でxとyの値をどのように宣言しますか、それともforループの外で宣言する必要がありますか?また、EclipseのraiseIntPowerメソッドで、int nをパラメーターとして使用すると、「ローカル変数の重複エラー」が発生します。私の理解では、メソッドパラメータはメソッドが必要とする引数を指定します。その重複エラーの意味がわかりません。

import acm.program.*;


public class Exponents extends ConsoleProgram {

  public void run(){
      for (int n = 0; n <= 10; n++) {

            println("2 to the power of " + n + " = " + raiseIntPower(n)); 

     } 

  }
private int raiseIntPower (int n){
   int total = 0;
   for( int n = 0; n <= 10; n++){
     total = Math.pow(2, n);

  } 

return total; 
  }
}
4

4 に答える 4

7

何をしようとしているのかわかりません

ステートメントを置き換えるだけです

println("2 to the power of " + n + " = " + raiseIntPower(n)); 

println("2 to the power of " + n + " = " + Math.pow(2,n)); 

そしてそれはそれをするべきです、必要はありませんraiseIntPower()

の使用法について混乱していると思います。説明についてはMath.pow()、こちらを参照してくださいMath.pow()

于 2012-10-30T07:49:56.493 に答える
1

Math#pow(double a, double b)ここで、aは底で、bは指数であり、doubleを返すため、精度を破棄する場合は、戻り値をフォーマットする必要があります。 ab

raiseIntPowerメソッドを削除できます。

for (int n = 0; n <= 10; n++) {
     println("2 to the power of " + n + " = " + Math.pow(2,n)); 
} 
于 2012-10-30T07:48:14.433 に答える
0

これをチェックしてください

import acm.program.*;

public class Exponents extends ConsoleProgram {

  public void run(){
      for (int n = 0; n <= 10; n++) {

            println("2 to the power of " + n + " = " + raiseIntPower(n)); 

     } 

  }
private int raiseIntPower (int n){
   int total = 0;   
   total = (int)Math.pow(2, n);

   return total; 
  }
}
于 2012-10-30T13:04:13.387 に答える
0

重複する変数があるため、Eclipseでは「重複するローカル変数エラー」が発生します。

private int raiseIntPower (int n){
    int total = 0;
    for( int n = 0; n <= 10; n++){
        total = Math.pow(2, n);
    } 
    return total; 
}

入力用に変数nを宣言しました。forループで、別の変数nを宣言しました。forループでのint nandへの参照は、などの別の名前に変更する必要がありますint i

于 2012-12-13T05:02:46.493 に答える