如何通过方法增加 int



我是Java的新手,在一个没有结局的情况下我咳嗽了,至少对我来说是这样;基本上我想做的是通过相同的方法增加两个int,但似乎我无法弄清楚。

例:

int health;
int mana;

每个值附近都有一个按钮,对应于显示生命值和魔法值的实际标签。

public void upgrade(int health, int mana){
   the problem is that I don't know how to do it?
This method should be able to increase only one stat (mana or health), and it will be called on button clicked(action listener)
}

请给我一些见解!

对...好吧,我以某种方式让它工作。问题是,我不知道如何将变量设置为特定的 int。这是我所拥有的

当我调用我使用升级(mana(的方法时;然后对于我拥有的方法;

public void upgrade(int val){
            if(val < 5)
                val = val + 1;
                setMana(val);
}

价值将增加。问题是我也想单独使用这种方法来养生,我真的不知道下一步该怎么做。我也一直在按价值查看传递;请问有什么见解吗?

尝试思考面向对象!

public class ManaAndHealth {
    int health;
    int mana;
    public int getHealth() {
        return health;
    }
    public void setHealth(int theHealth) {
        health=theHealth;
    }
    public void setMana(int theMana) {
        mana=theMana;
    }
    public int getMana() {
        return mana;
    }
}

然后你可以像这样使用它:

public void upgrade(ManaAndHealth mah){
   mah.setMana(mah.getMana()+10);
   mah.setHealth(mah.getHealth()+10);
}

这只是为了展示概念,然后其他东西,如maxManamaxHealth可能会额外限制升级......

Java 方法调用使用"按值调用"参数传递。

让我们忽略传递引用的非基元类型(也按值传递(。我们只看一下基元类型:

class Example{
    int field1 = 0;
    void method1( int arg1 )
    {
         arg1 = 5;
    }
    void method2()
    {
         field1 = 5;
    }
    void driver()
    {
         method1(field1); // <= (a copy of) the _value_ of field1 will be
                          // passed to method1. The value of field1 will
                          // stay the same, no matter what happens inside method1.
         // field1 == 0 
         method2(); // uses the class's field => change will be visible
         // field1 == 5
    }
}

如果您使用与void method1( int field1 )相同的名称,则只会隐藏方法中的类字段。更改仍将仅在本地可见。

好的,

所以我最近一直在测试东西,看看如何使用单一方法来更改 int 法力值和生命值。我不知道这是否是正确的方法,但它在我的情况下效果很好。对于那些可能正在寻找实际答案的人来说,它可能很有用: 基本上,我添加了一个名为CE的新int,每次我调用升级时,我都会将其与传递值(val(相等。

public void upgrade1(int val){
            if(val < 5)
                val = val + 1;
                CE = val; 
}

当我点击按钮时,我将魔法值和生命值(每个单独(设置为与CE相等。从那里我只需要将法力值和生命值设置为 CE。现在可以自行更改这些值,而无需修改不需要修改的值。感谢您的支持和协作社区!

最新更新