Java - 将值添加到另一个类的变量中

时间:2013-05-10 14:08:57

标签: java

我的问题是如何将值添加到另一个类的变量中,例如:

private int balance;

然后在同一个类的方法中,我使用以下方法向天平添加值:

balance += 50;

但是当我去另一个班级,然后输入对象然后是余额的设定者:

myObject.setBalance(50);

但问题出现在这里,当我去第一堂课并从那里返回余额时,我得不到任何东西(或旧的余额值)换句话说,余额的新值没有被添加。有什么想法吗?在过去的几个小时里,我一直被困在这一点

这是我的代码:

public class Zoo 
{
    private int balance;

    public void setBalance(int balance)
    {
        this.balance = balance;
    }

    public int getBalance()
    {
        return this.balance;
    }
}

MY SECOND CLASS:

public class RandomEvents
{
    private Zoo ZooBalance = new Zoo();

    public void callEventSix()
    {
        System.out.println("A local group has raised money to your Zoo");
        System.out.println("Would you like to accept the money? (y) or (n)");
        Scanner readerEventThree = new Scanner(System.in);
        String readerTwo = readerEventThree.next();
        if ( readerTwo.equals("y") ) 
        {
            ZooBalance.setBalance(166);
            System.out.println("You have accepted the gift");
            System.out.println("Your new balance is " + ZooBalance.getBalance());
        } else if ( readerTwo.equals("n") )
        {
            System.out.println("You have refused the gift");
        }
    }
}

3 个答案:

答案 0 :(得分:5)

在你的情况下

替换此行:

ZooBalance.setBalance(166);

使用:

ZooBalance.setBalance(ZooBalance.getBalance() + 166);
Sytem.out.println(ZooBalance.getBalance()); // 166

您需要为该课程制作setter。假设该类的名称为TestClass

class TestClass {
    private int balance = 50;
};
public int getBalance() {
    return this.balance;
};
public void setBalance(int newBalance) {
    this.balance = newBalance;
};

然后在另一个班级:

TestClass test = new TestClass();
test.setBalance(test.getBalance() + 50);
System.out.println(test.getBalance);// 100

答案 1 :(得分:2)

我非常确定将50添加到某个值并将值设置为50之间存在差异。

myObject.setBalance(50);不会添加50,它会将值更改为50。要添加50,您必须按照myObject.setBalance(myObject.getBalance() + 50);

的方式执行操作

答案 2 :(得分:1)

通常有两种方法。

首先。使用gettersetter

Zoo zoo = new Zoo();
zoo.setBalance(zoo.getBalance() + 50);

二。添加adder方法:

public void addToBalance(int addend) {
    balance += addend;
}

Zoo zoo = new Zoo();
zoo.addToBalance(50);