为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喔喔 2022-10-20 17:04:58
我基本上需要创建一个完成基本总和的函数(如 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);

否则,是的,这是理想的解决方案,因为没有它,您将重置计时器。


查看完整回答
反对 回复 2022-10-20
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号