Java 如何打印第一个余额,然后打印新余额?

Java 如何打印第一个余额,然后打印新余额?,java,Java,我写了一个小作业,其中我创建了一个TimeDepositAccount,并创建了一个方法来获取当前余额、计算利息后的新余额,然后是一个取款方法。我一直在打印新的余额到系统。out,因为某种原因,我无法获得新的余额。第二,我想使用一个局部变量作为draw方法,因为在我们即将进行的测试中,我们将对这些变量进行测试,但我们从未在课堂上进行过测试,所以我不确定如何进行 public class TimeDepositAccount { //instance fields priv

我写了一个小作业,其中我创建了一个
TimeDepositAccount
,并创建了一个方法来获取当前余额、计算利息后的新余额,然后是一个取款方法。我一直在打印新的余额到
系统。out
,因为某种原因,我无法获得新的余额。第二,我想使用一个局部变量作为draw方法,因为在我们即将进行的测试中,我们将对这些变量进行测试,但我们从未在课堂上进行过测试,所以我不确定如何进行

    public class TimeDepositAccount {
    //instance fields
    private double currentBalance;
    private double interestRate;
    //Constructors
    public TimeDepositAccount(){}

    public TimeDepositAccount(double Balance1, double intRate){
        currentBalance = Balance1;
        interestRate = intRate;
    }
    //Methods
    public double getcurrentBalance(){
        return currentBalance;
    }

    public void newBalance(){
        currentBalance = currentBalance * (1 + (interestRate/ 100) );
    }

    public double getintRate(){
       return interestRate;
    }

    public String toString(){
        return "TimeDepositAccount[ currentBalance = "+getcurrentBalance()+", 
    interestRate = "+getintRate()+"]";
    }


    public class TimeDepositAccountTester{
    public static void main (String[] args){
        TimeDepositAccount tda = new TimeDepositAccount(10,2);
        double currentBalance = tda.getcurrentBalance();
        System.out.println(currentBalance);
        tda.newBalance();
        System.out.print(currentBalance);

    }
}

我希望输出先打印10.0,然后打印10.2,但我两次都得到10.0。

您希望将主要方法更改为以下内容:

publicstaticvoidmain(字符串[]args){
TimeDepositAccount tda=新的TimeDepositAccount(10,2);
double currentBalance=tda.getcurrentBalance();
系统输出打印项次(当前余额);
tda.newBalance();
currentBalance=tda.getcurrentBalance();
系统输出打印(当前余额);
}

变量
currentBalance
存储定义余额时的余额。更改
tda
的余额不会更改
currentBalance
的值。因此,要更新
currentBalance
的值,需要运行
currentBalance=tda.getcurrentBalance()又来了。

哦,我明白了!所以,仅仅因为我运行了void方法,并不意味着新结果实际上是存储的!我以前初始化过变量,但现在必须更改结果以存储新值。谢谢你的帮助!CurrentBalance=tda.getCurrentBalance()复制该值,但它不会“绑定”它们以使它们保持同步。因此,您需要再次复制以获取最新值