不太确定我哪里出错了。我需要总结系列的前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());}
}
答案 0 :(得分:1)
你很亲密。你只需要调整循环就可以运行16次。
将结果初始化为0
(您已多次编辑帖子),并按如下方式更改循环:
for (int i = 0; i <= 15; i++) {
result += s.valAtIndex(i);
}
答案 1 :(得分:1)
应该是i <= 15,而不是&lt;那将解决你的问题。 :)
7174454.0明显小于21523360。