【发布时间】:2016-11-14 20:19:55
【问题描述】:
我是这种编程语言的新手(几乎也是),我只想使用带有 getter 和 setter 方法的“if and else”,我正在做一个基本的 RPG 用于学习目的。 我有一个角色 x,我想做的就是;如果该角色的生命低于0,则复活该角色,否则只需增加他的生命。这是我的 代码。
public Skill bless(Character x) {
if (0>= x.getCurrentHp()) {
x.getCurrentHp() == x.getHp() * 3/4;
}
else if (x.getCurrentHp() > 0) {
x.getCurrentHp() =+ x.getHp() * 1/2;
}
return x;
}
【问题讨论】:
-
该方法给您的行为有什么问题?你没有告诉我们这个最重要的信息。
-
在 if 语句的第一个分支中,您使用的是
==,我猜应该使用=。 -
我确定整数除法不是您的想法。当您使用整数除法时,3/4 == 0,而不是 0.75。我敢打赌你会对这个结果感到惊讶。
-
@JanSchaefer 你绝对错了。它不会改变任何东西。阅读我的回答为什么。
-
仅作记录:更新传入参数是不好的做法;并返回它。不要混合东西。操纵您的参数(参见“inout”;或返回“更新”值)。
标签: java if-statement get set