Java使用方法值来减去对象字段值

时间:2017-05-04 22:14:28

标签: java variables if-statement methods

我的简单问题是。

我怎样才能允许此方法返回其damageDelt值?我想使用此值能够从另一个类字段变量hitpoint值中减去。我怎样才能做到这一点?因为我希望这种方法减少来自另一个对象生命点的生命值。

谢谢

package com.DavidLee.Programming;

public class Main {

    public static void main(String[] args) {

        new Main().railGunAttack();
        System.out.println();

    }

    public void railGunAttack() {

        int randomNumber = (int) (Math.random() * 100 + 1);

        if (randomNumber > 0 && randomNumber < 50) {
            int damageDelt = 2 * randomNumber;
            System.out.println("Railgun did " + damageDelt + " Damage");
        } else if (randomNumber > 50 && randomNumber < 80) {
            int damageDelt = 4 * randomNumber;
            System.out.println("Railgun did " + damageDelt + " Damage");
        } else if (randomNumber > 80 && randomNumber < 100) {
            int damageDelt = 50 - randomNumber;
            System.out.println("Railgun did " + damageDelt + " Damage " + "Railgun projectiles glazed the target");
        } else
            System.out.println("Railgun missed target");
    }
}

2 个答案:

答案 0 :(得分:1)

如评论所示,您需要更改函数的返回类型以返回int,并且需要返回damageDelt变量。一种方法是在if语句之外声明它,然后在函数结束时返回它。如果您不想这样做,可以在每个return块中添加if语句,但这有点混乱。 所以你的功能可能如下所示:

public int railGunAttack() {

    int randomNumber = (int) (Math.random() * 100 + 1);
    int damageDelt = 0;

    if (randomNumber > 0 && randomNumber < 50) {
        damageDelt = 2 * randomNumber;
        System.out.println("Railgun did " + damageDelt + " Damage");
    } else if (randomNumber > 50 && randomNumber < 80) {
        damageDelt = 4 * randomNumber;
        System.out.println("Railgun did " + damageDelt + " Damage");
    } else if (randomNumber > 80 && randomNumber < 100) {
        damageDelt = 50 - randomNumber;
        System.out.println("Railgun did " + damageDelt + " Damage " + "Railgun projectiles glazed the target");
    } else {
        System.out.println("Railgun missed target");
    }
    return damageDelt;
}

答案 1 :(得分:0)

更改方法的返回类型,并在方法引用中更改要返回的变量或对象。

实施例: public int age(){   int UserAge = 100;

返回UserAge; }