繁体   English   中英

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

[英]How can I print the first balance, then the new balance?

我写了一个小作业,我创建了一个TimeDepositAccount并创建了一个方法来获取当前余额,计算利息后的新余额,然后是一个提取方法。 我一直坚持将新余额打印到System.out ,因为由于某种原因,我无法获得新余额。 其次,我想为提取方法使用局部变量,因为在我们即将进行的测试中,我们将对其进行测试,但我们从未在 class 中做过它们,所以我不确定如何使用 go。

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

    }
}

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

您可能希望将 main 方法更改为以下内容:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM