我只能从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;
}
}
答案 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。