我正在开发一个"银行账户"类型的程序,我的目标是取款和存款,显示更新的余额,显示账户状态(透支或未透支)。我只是在进行加法/减法和更新余额,但我的JTextFields中的数字是绝对值,不会显示负余额(余额<0)。有什么格式需要我做吗?我已经包含了我的按钮监听器代码,以及我为将doubles转换为字符串等所做的一些解析。请帮忙!
depositButton.addActionListener(new DepositListener());
withdrawButton.addActionListener(new WithdrawListener());
//create object of BankAccount, assign values to the text fields
BankAccount myAcct = new BankAccount(1524687, 100.00, "Landon Wiggs");
acctNameF.setText(myAcct.getName() );
acctNumF.setText(Integer.toString( myAcct.getAcctNumber() ) );
acctBalanceF.setText( Double.toString(myAcct.getBalance()));
depositWithdrawAmtF.setText("0.00");
private class DepositListener implements ActionListener
{
public void actionPerformed (ActionEvent event)
{
double sum = Double.valueOf(depositWithdrawAmtF.getText()) + Double.valueOf(acctBalanceF.getText());
double amt = (Double.parseDouble(depositWithdrawAmtF.getText()));
acctBalanceF.setText(Double.toString(sum));
}
}
private class WithdrawListener implements ActionListener {
public void actionPerformed (ActionEvent event) {
double sum = (Double.valueOf(depositWithdrawAmtF.getText() )) - (Double.valueOf(acctBalanceF.getText() ));
double amt = (Double.parseDouble(depositWithdrawAmtF.getText()));
acctBalanceF.setText(Double.toString(sum));
}
}
当你提取时,你可能应该从账户资金中减去提取金额,现在你却在做相反的事情。
更改
double sum = (Double.valueOf(depositWithdrawAmtF.getText() )) - (Double.valueOf(acctBalanceF.getText() ));
至
double sum = Double.valueOf(acctBalanceF.getText()) - Double.valueOf(depositWithdrawAmtF.getText());