嘿,我不明白为什么,当这次运行时,计算等于零。我已经为main方法中的变量赋值了。我错过了什么,因为我正在试图解决这个问题。此外,我正在关注一个非常简单的例子,我在网上看到它工作,我只是根据我的需要编辑它。我比较新,所以忍受我,这是我的第二个月,我想继续这样做。
public void myAtkStat(int myAtk) {
System.out.println("Atk:" + myAtk);
int meAtk = myAtk;
}
public int getmyAtk() {
return meAtk;
}
public void defStat(int def) {
System.out.println("Def :" + def);
int defense = def;
}
public int getDefense() {
return defense;
}
public void doCalculation() {
System.out.println((getmyAtk() * 2) - getDefense());
}
答案 0 :(得分:0)
设置攻击值时,您需要使用方法变量。所以你永远不会设定价值。你必须写如下:
public void myAtkStat (int myAtk) {
System.out.println("Atk:" + myAtk);
this.meAtk=myAtk;
}
你对变量防御有同样的问题(正如他们在评论中所说的那样)
答案 1 :(得分:0)
int defense = def;
因为您包含了一个类型(int
),所以您创建了一个新的局部变量。然后,当您分配给它时,您将分配给新的局部变量,而不是类成员。
包含一个类型以创建新变量。在这种情况下删除它以引用类成员。
或者,更好的是,明确你想要的变量:
this.defense = def;