我想更新我目前的余额

时间:2015-05-14 14:56:02

标签: java netbeans

我只能从85000减去它。因为该值已初始化。例如,假设我做2000,它将从85000中减去并给出83000.问题是如果我第二次这样做,撤销值从85000减去而不是从83000减去我可以更新我的价值。 ?

public class Withdrawal {

    private double amount;
    private double currentBalance=85000.00;
    double total;

        public Withdrawal(double amount1,double currentBalance) { 
               this.currentBalance = currentBalance;
               this.amount = amount1;
        }

        public Withdrawal(double currentBalance){
              this.currentBalance = currentBalance;
        }

        public Withdrawal(){

        }

        public void setAmount(double amount1){

            this.amount =amount1;
        }

        public double getAmount(){
            return  amount;

        }
        public void setCurrentBalance(double currentBalance) {
            this.currentBalance =currentBalance;

        }

        public double getCurrentBalance() {
            return currentBalance;
        }


        public double getTotalAmount(){
            total= getCurrentBalance()- getAmount();
            return total;
        }
}

2 个答案:

答案 0 :(得分:1)

我认为您对如何存储对象感到有些困惑。

你认为提款会拥有它自己的对象是完全正确的,但它不会按你认为应该的方式使用。

首先,您可能需要一个帐户对象来存钱(提款不能存钱,而且是提款!)

帐户可以很简单:

public class Account {
    double balance;

    public void withdraw(double amount) {
         this.balance -= amount;
    }

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

提款对象的唯一原因可能是存储日期和金额?

答案 1 :(得分:0)

在构造函数中,您只需设置一次金额和当前余额的值。

问题是,如果我第二次这样做,提款值从85000减去而不是从83000

确保在您减去金额时(无论您是否尝试这样做)将当前余额设置为当前余额 - 金额

public void withdraw(int amount)
{
     this.currentBalance -= amount;
}

这样,当您再次调用它并根据当前余额检查该值时,它将更改为旧余额减去金额的值。因此,在你的情况下,它将是第一次85000-2000,当再次调用withdraw函数时,它将访问this.currentBalance,它将从上一次撤销设置为83000。