我的简单问题是。
我怎样才能允许此方法返回其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");
}
}
答案 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; }