我基本上需要创建一个完成基本和的函数(例如x + = y)。我的局限性在于该函数实际上不能将任何东西作为输入,并且它需要通过for循环来跟踪内容。我已经对此进行了编码(这只是较大任务的一小部分),但是我的似乎在每次循环时都会重置;它只会输出任何value()相等的值,并且不会在循环的迭代之间跟踪自身。我重写了一些东西以取出不需要的东西,因为没有它,将会有很多糠cha。我的函数引用了一个value()函数,但这对我的问题并不重要。只要知道它会检查在迭代之间随机更改的值,然后将该值返回为double。 BenchmarkTimer只是整个功能系列中的一类。
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的声明移出循环之外成为解决方案,因为这将需要我重新编码很多其他内容以适应问题。如果这是唯一的方法,那很好,但是如果有其他解决方案,我将很高兴听到他们的声音。谢谢您的时间!
答案 0 :(得分:1)
理想情况下,我不想将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);
否则,是的,这是理想的解决方案,因为如果没有此设置,那么您将重置计时器。