forked from axelorrhede/Bankapp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBank.java
More file actions
104 lines (88 loc) · 2.43 KB
/
Bank.java
File metadata and controls
104 lines (88 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import java.util.ArrayList;
public class Bank {
private ArrayList<BankAccount> BankAccounts;
String name;
public Bank(String name) {
BankAccounts = new ArrayList<BankAccount>();
this.name = name;
}
public int addAccount(String holderName, long idNr) {
for (BankAccount account : BankAccounts) {
if (account.isHolder(idNr)) {
return account.getAccountNumber();
}
}
BankAccount newAccount = new BankAccount(holderName, idNr);
BankAccounts.add(newAccount);
return newAccount.getAccountNumber();
}
public Customer findHolder(long idNr) {
for (BankAccount account : BankAccounts) {
if (account.isHolder(idNr)) {
return account.getHolder();
}
}
return null;
}
public boolean removeAccount(int accountNumber) {
for (BankAccount account : BankAccounts) {
if (account.getAccountNumber() == accountNumber) {
BankAccounts.remove(account);
return true;
}
}
return false;
}
public ArrayList<BankAccount> getAllAccounts() {
BankAccount account;
for (int i = 0; i < BankAccounts.size(); i++) {
for (int k = i; k < BankAccounts.size(); k++) {
if (compareStrings(BankAccounts.get(k).getHolder().getString(),
BankAccounts.get(i).getHolder().getString())) {
account = BankAccounts.get(k);
BankAccounts.remove(k);
BankAccounts.add(i, account);
}
}
}
return BankAccounts;
}
private boolean compareStrings(String p1, String p2) {
int min = Math.min(p1.length() , p2.length())
for (int i = 0; i < min; i++) {
if (p1.charAt(i) < p2.charAt(i)) {
return true;
}
if (p1.charAt(i) > p2.charAt(i)) {
return false;
}
}
return p1.length() < p2.length()
}
public BankAccount findByNumber(int accountNumber) {
for (BankAccount account : BankAccounts) {
if (account.getAccountNumber() == accountNumber) {
return account;
}
}
return null;
}
ArrayList<BankAccount> findAccountsForHolder(long idNr){
ArrayList<BankAccount> sameCustomer= new ArrayList<BankAccount>();
for (BankAccount account : BankAccounts) {
if (account.isHolder(idNr)) {
sameCustomer.add(account);
}
}
return sameCustomer;
}
public ArrayList<Customer> findByPartofName(String namePart){
ArrayList<Customer> customers = new ArrayList<Customer>();
for (BankAccount account : BankAccounts) {
if (account.getHolder().getString().toLowerCase().contains(namePart.toLowerCase())) {
customers.add(account.getHolder());
}
}
return customers;
}
}