如何制作一个在 main 方法中保留总计的函数?

我基本上需要创建一个完成基本总和的函数(如 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 的声明移到循环之外作为解决方案,因为这将需要我重新编码相当多的其他内容以适应。如果这是唯一的方法,那很好,但如果有不同的解决方案,我会很高兴听到它们。感谢您的时间!




喵喔喔
浏览 99回答 1
1回答

慕田峪9158850

理想情况下,我不想将 timer1 的声明移到循环之外成为解决方案好吧,如果不这样做,那么您可以创建一个完全独立的变量&nbsp; &nbsp; int n = Integer.parseInt(args[0]);&nbsp; &nbsp; double d = 0;&nbsp; &nbsp; for (int l = 1; l <= 4; l++){&nbsp; &nbsp; &nbsp; &nbsp; BenchmarkTimer timer1 = new BenchmarkTimer();&nbsp; &nbsp; &nbsp; &nbsp; d += timer1.value();&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(timer1.total());&nbsp; &nbsp; }&nbsp; &nbsp; System.out.println(d);否则,是的,这是理想的解决方案,因为没有它,您将重置计时器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java