Как я могу напечатать первый баланс, а затем новый баланс? - PullRequest
0 голосов
/ 25 сентября 2019

Я написал небольшое задание, в котором я создал TimeDepositAccount и создаю метод для получения текущего баланса, нового баланса после начисления процентов, а затем метод снятия средств.Я застрял при печати нового баланса на System.out, так как по какой-то причине я не могу получить новый баланс.Во-вторых, я хочу использовать локальную переменную для метода изъятия, поскольку в нашем следующем тесте мы будем проверять их, но мы никогда не делали их в классе, поэтому я не уверен, как это сделать.

    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 оба раза.

1 Ответ

1 голос
/ 25 сентября 2019

Вы хотели бы изменить свой основной метод следующим образом:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...