Java 如何将一个整数的值与另一个整数相加?

Java 如何将一个整数的值与另一个整数相加?,java,Java,我自己做了一个RPG游戏,它已经开始让我有点困惑了 在游戏的战斗部分,我使用了一个可能相当糟糕的系统来记录敌人在攻击时受到的伤害 int healthStatPlayer = 1; Double damageTaken = 0.0; Double maxHealth = (healthStatPlayer * 100.0); Double playerHealth = (maxHealth - damageTaken); ... Double attackDamageEnemy (attackS

我自己做了一个RPG游戏,它已经开始让我有点困惑了

在游戏的战斗部分,我使用了一个可能相当糟糕的系统来记录敌人在攻击时受到的伤害

int healthStatPlayer = 1;
Double damageTaken = 0.0;
Double maxHealth = (healthStatPlayer * 100.0);
Double playerHealth = (maxHealth - damageTaken);
...
Double attackDamageEnemy (attackStatEnemy * damageMultiplierEnemy);
...
{
    if (actionCommand.equals("Attack"))
    {
        System.out.println("You dealt " + attackDamage + " damage to the enemy.");
        damageTakenEnemy = (damageTakenEnemy + attackDamage);

        //The above line is where the problem is, it's wrong - both with regards to code and to mathematics - because I don't know how to make it right

        System.out.println("The enemy has " + enemyHealth + " health
 left.");
    }
}
我把它设置成敌人当前的生命值是它的最大生命值减去任何伤害。这意味着,为了能够改变当前的生命值,我必须将玩家的攻击伤害加上敌人的伤害


我只想将攻击伤害的数值(在本例中为22.5)加上DamageTakenNemy的值(最初为0),因为所有敌人都以最大生命值开始。

只需使用加号操作符即可

所以它应该是myVariable+myOtherVariable,您也可以将它存储在一个变量中,比如myStoreVar=myVar+myOtherVar

如果你想用一些东西增加一个变量,你可以做myStoreVar+=myVar,这将只是加上myVar到myStoreVar

在您的情况下,答案是damagetakennemy+=attackDamage,这与damagetakennemy=damagetakennemy+attackDamage相同。你可以在这里清楚地看到使用哪一个,较短的一个


您还有诸如-、*、/和%。

您的AttackDamageForeign变量缺少一个=并且您需要确保将enemyHealth设置为enemyHealth-damageTakenEnemy,否则该变量将永远不会受到您的伤害值的影响。

在某个时候,你需要enemyHealth=enemyHealth-damagetakennemy。你能解释一下为什么你认为你的代码是错误的吗?据我所知,它正确地添加了两个数字。代码中的其他地方确实存在语法错误,但我假设这些是转录错误。我认为它是错误的,因为从数学上讲,它应该是错误的。例如:A=A+B。关于正确的数学,这将使这个方程变为:A=A+B+B。这将再次变为:A=A+B+B。依此类推。=是赋值运算符,它意味着计算右侧并将该值赋值给左侧。它不是数学符号,它的等价物是。在任何情况下,Java中的变量都不是抽象的数学概念——它们具有实际值。您可以在Java中计算A==A+B,Java会将A和B的当前值相加,并将它们与A的当前值进行比较。如果B当前恰好为0,它将返回true。不涉及代数。