随机变量分区java

时间:2016-06-02 14:22:08

标签: java integer division

我的代码中有一个奇怪的逻辑错误,它不允许我划分我的变量。

if (cWeapon == soulSteeler){
            lifeTake = damageDealt / 10;
            lifeTake += health;
        }

这是我试图划分所造成的伤害并将其添加到我的健康状态的地方。我在intfloat上将lifeTake damageDealt更改为health,因为我知道我可以获得一些小数。

当我这样做时,没有任何事情发生,我似乎无法找到答案,所以我决定自己问一下。 提前致谢, 将

2 个答案:

答案 0 :(得分:0)

试试这样:

// I assume these are not Strings.  If they are, compare using equals
if (cWeapon == soulSteeler) {
    lifeTake = damageDealt/10.0;
    lifeTake += health;
}

答案 1 :(得分:0)

就像Duffymo所说的那样,damageDealt很可能是一个小于10的整数,这会使damageDealt / 10始终为0.要解决此问题,请将10更改为10.0,或将其转换为float或double。同时施放damageDealt作为double或float,以获得正确的结果。还要确保lifeTake是float / double,否则你将受到相同数据缩小的影响。