-2

どこが間違っているのかよくわかりません。シリーズの最初の16要素を合計する必要があります:1、3、9、27、81 ....メソッドを使用してtotalコードは、典型的Geometric1なSeqのインスタンスを作成することによってこれを行います。

このtotalメソッドは値7174454.0を出力しますが、21523360を取得する必要があります。

public class Geometric1 implements Seq{

private double b;
public static double result = 0.0;

public Geometric1(double b) {
    this.b = b;
}


public double valAtIndex(int i) {
    // TODO Auto-generated method stub
    return Math.pow(b, i);
}

public static double total() {

    Seq s = new Geometric(3.0);

    for (int i = 0; i < 15; i++) {
        result += s.valAtIndex(i);
    }

    return result;
}

public static void main(String[] args) {

    System.out.println(total());}
}
4

2 に答える 2

1

あなたは近くにいます。16回実行するようにループを調整する必要があります。

結果を(投稿を複数回編集した)に初期化した0ままにし、ループを次のように変更します。

for (int i = 0; i <= 15; i++) {
    result += s.valAtIndex(i);
}
于 2012-08-29T00:44:21.363 に答える
1

<15ではなくi<=15である必要があります。これで問題は解決します。:)

7174454.0は21523360よりも大幅に小さいです。

于 2012-08-29T00:44:22.453 に答える