首页 > 解决方案 > 将旧变量与新变量相加

问题描述

我有一个适配器,它指向具有“时间”属性的项目。如果用户在一个项目和另一个项目上点击一个按钮,我需要将两个时间值相加。我无法做到这一点。

我尝试过类似的东西time += time,将这些值分开等

这是我尝试的最后一件事。是的,这没有任何意义,但 idk,没有任何效果。

 [...]
  add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GetTime(gameItem.getTime());

            }
        });
    }

    private int GetTime(int timeplayed) {
        time += timeplayed;

        return time;
    }

这应该就像一开始就有一个空的可变时间。timeplayed 被添加到它并作为时间返回。因此,每次您点击按钮时,播放的时间都会被添加并作为时间返回

实际上,不是将旧变量与新变量相加,它要么只做一个 0 + 数字,要么将新变量与自身相加......

标签: javamathsum

解决方案


从您所说的情况来看,在您实际对其进行数学运算之前,该字段值正在被更改或实际上根本没有被初始化。所以你的问题的答案很简单:确保在你的代码到达private int GetTime(int timeplayed)方法之前字段的值没有改变。

在任何情况下,您的代码绝对应该工作,因为操作的语法是正确的。time += timeplayed相当于time = time + timeplayed。我看不到您的其余代码,因此我无法真正说出幕后发生的事情,但是如果您愿意共享其余代码,那么几乎可以在更改时间变量的任何地方(包括它实际上正在初始化)我可以进一步帮助你。

但首先您需要确保变量具有预期值(不等于timeplayed也不为 0)。您可以通过使用断点进行调试或在执行操作之前在控制台中记录值来完成此操作。

希望这会有所帮助,让我知道它是怎么回事。


推荐阅读