Java 如何通过方法增加int?

Java 如何通过方法增加int?,java,Java,我是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 in

我是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)
}

请给我一些见解

试着考虑面向对象

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);
}

这只是为了展示这个概念,然后像maxMana和maxHealth这样的其他东西可能会额外限制升级…

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相同的名称,则只会在方法内隐藏class字段。更改仍将仅在本地可见。

右侧。。。我总算让它工作起来了。问题是,我不知道如何将变量设置为特定的int。 这是我的

当我调用该方法时,我使用upgrademana; 那么对于我的方法

public void upgrade(int val){
            if(val < 5)
                val = val + 1;
                setMana(val);
}
该值将增加。 问题是,为了健康,我也想单独使用这种方法,我真的不知道下一步该怎么办。 我也一直在关注价值传递;
有什么见解吗?

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

public void upgrade1(int val){
            if(val < 5)
                val = val + 1;
                CE = val; 
}
当我点击按钮时,我将法力和生命值分别设置为与CE相等。从那里我只需要将法力值和生命值设置为CE。现在可以单独更改这些值,而无需修改不需要修改的值。
感谢您对社区的支持和合作

按值调用。在方法内部,您可以完全搞乱参数。在方法之外,它将不可见!错误的方法。不要试图学习Java,而从任何与UI相关的东西开始。这并不意味着粗鲁,但很明显,您甚至不了解java最基本的东西。我向你保证:你想创建一个工作的UI应用程序的想法将失败。退后一步;通过这些教程:……每个人都有自己的学习方式。如何达到10的一个好例子?你可以做5+5,也可以做6+4,也可以做3+3+4。正如我所展示的,每个人都有自己的方式。关于我的想法,我已经知道我必须做什么,问题是我以前从未尝试过,所以我不知道如何构建它。谢谢你的支持!请不要误解我的意思,但这与当您使用一些过程代码并将class关键字推入其中时所得到的面向对象差不多。合理的OO看起来不同。当然,我同意,这是开始的方式,它解决了问题。那么,哪个班级承担哪个责任是另一回事,有待讨论。我可以立即写两个以上的类,以避免重复自己等,我个人会这样做。但是,当我开始提出比这个基本概念更多的概念时,我会把答案搞砸。