【发布时间】:2019-09-15 23:47:18
【问题描述】:
我正在创建一个非常简单的银行管理器类,它处理许多银行账户对象 - 每个对象都使用唯一的 accountNumber、accName 等创建,这就是银行账户的创建方式:
package banksystem;
import java.util.*;
public class BankAcc {
private String accountName;
private int accountNumber;
private int accountOverdraft;
private int currentBalance;
public BankAcc(String accountName, int accountNumber,
int accountOverdraft, int currentBalance){
this.accountName = accountName;
this.accountNumber = accountNumber;
this.accountOverdraft = accountOverdraft;
this.currentBalance = currentBalance;
}
public void deposit(int money){this.currentBalance += money;}
public void withdraw(int money){
int curr = this.currentBalance + this.accountOverdraft;
if (money < curr){this.currentBalance -= money;}
}
public String accountName(){return this.accountName;}
public int accountNumber(){return this.accountNumber;}
public int getCurrentBalance(){return this.currentBalance;}
public int accountOverdraft(){return this.accountOverdraft;}
}
银行账户管理器类的创建如下,我正在使用 for 循环,以便程序可以识别我要编辑的银行账户。
package banksystem;
import java.util.*;
public class BankMngr {
private ArrayList<BankAcc> bankAccounts = new ArrayList<>();
public BankMngr(){
this.bankAccounts = new ArrayList<BankAcc>();
}
public void addBankAcc(String accountName, int accountNumber, int
accountOverdraft, int currentBalance){
BankAcc newBankAcc = new BankAcc(accountName, accountNumber,
accountOverdraft, currentBalance);
bankAccounts.add(newBankAcc);
}
public void removeBankAcc(int accountNumber){
for(BankAcc b: bankAccounts){
if (b.accountNumber() == accountNumber){bankAccounts.remove(b);}
else;
}
}
public String accountsList(){
String s = "ACCOUNTS UNDER MANAGER:" + "\n";
for(BankAcc b: bankAccounts){s+= b.accountNumber()+ " " +
b.accountName() + "\n";}
return s;
}
}
似乎一切正常,但是当我在 main 中使用此代码时,出现错误。
package banksystem;
import java.util.*;
public class BankSystem{
public static void main(String[] args) {
BankMngr ManagerBob = new BankMngr();
ManagerBob.addBankAcc("John", 1425, 2000, 1000);
ManagerBob.addBankAcc("Kane", 1358, 4000, 6000);
ManagerBob.addBankAcc("Kane", 1693, 4000, 6000);
ManagerBob.addBankAcc("Dave", 1976, 2000, 3500);
System.out.println(ManagerBob.accountsList());
ManagerBob.removeBankAcc(1976);
System.out.println(ManagerBob.accountsList());
}
}
我只想删除帐户 1976,但出现错误。我无法弄清楚解决方案可能是什么,并且错误消息对我没有帮助,因为我是一个初学者,我真的很感激正确方向的一点,
谢谢大家。
【问题讨论】:
-
“但出现错误” - 添加该错误消息将非常有用(不是说:必需)。他们在那里是有原因的。
标签: java object for-loop arraylist netbeans