I am creating a very simple simple Bank Manager Class which handles a number of Bank Account objects - each object is created with a unique accountNumber, accName, etc., This is how a bank account is created:
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;}
}
The bank account Manager class is created as below, I am using for loops so that the program can identify Bank Accounts I want to edit.
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;
}
}
All seems to work fine, but when I use this code in my main, I get an error.
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());
}
}
I just want to remove the account 1976 but get an error. I can't figure out what the solution may be, and the error message doesn't help me as I'm quite a beginner, I'd really appreciate a point in the right direction,
thanks guys.