我正在练习通过编写小型战斗模拟器学习到的技术。在我的英雄 class 中,我有存储伤害的方法。方法是:

private strike;

public void setStrike(int attack){
    attack = strike;
}

public int retStrike(){
    return strike;
}

在我的主要方法中,我需要一个新的随机数。
    int randomNum = new Random().nextInt(10)+1;

    Mike.setStrike(randomNum);

当我调用对象Mike并在Hero类的setStrike方法中提供setStrike方法时,它始终返回0。我在做什么错?谢谢!

最佳答案

public void setStrike(int attack){
    attack = strike;
}

这应该是:-
public void setStrike(int attack){
    strike = attack;
}

您使用了相反的作业。第一次分配对私有字段strike无效。

09-11 20:21