我基本上需要创建一个完成基本总和的函数(如 x += y)。我的限制是该函数实际上不能将任何内容作为输入,并且它需要通过 for 循环来跟踪内容。我已经编写了一个尝试(它只是较大任务的一小部分),但我的似乎在每次循环时都会重置;它只输出 value() 等于的任何值,并且在循环的迭代之间不跟踪自身。我重写了一些东西来取出不需要的东西,因为没有它会有相当多的谷壳。我的函数引用了一个 value() 函数,但这对我的问题并不重要;只知道它检查迭代之间随机变化的值,并将该值作为双精度值返回。public class BenchmarkTimer{ public double total; public double total(){ total += value(); return total; } public static void main(String[] args) { int n = Integer.parseInt(args[0]); for (int l = 1; l <= 4; l++){ BenchmarkTimer timer1 = new BenchmarkTimer(); timer1.value(); System.out.println(timer1.total()); } }}我想要实现的是 timer1.total 应该返回所有迭代中加起来的值的总和。如果获得的第一个值是 2,它应该输出 2。如果给定值 3,第二次通过,我希望它输出 5。现在,它只是输出从该循环中获得的任何值。此外,理想情况下,我不希望将 timer1 的声明移到循环之外作为解决方案,因为这将需要我重新编码相当多的其他内容以适应。如果这是唯一的方法,那很好,但如果有不同的解决方案,我会很高兴听到它们。感谢您的时间!
1 回答

慕田峪9158850
TA贡献1794条经验 获得超8个赞
理想情况下,我不想将 timer1 的声明移到循环之外成为解决方案
好吧,如果不这样做,那么您可以创建一个完全独立的变量
int n = Integer.parseInt(args[0]);
double d = 0;
for (int l = 1; l <= 4; l++){
BenchmarkTimer timer1 = new BenchmarkTimer();
d += timer1.value();
System.out.println(timer1.total());
}
System.out.println(d);
否则,是的,这是理想的解决方案,因为没有它,您将重置计时器。
添加回答
举报
0/150
提交
取消