-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBank.java
More file actions
92 lines (85 loc) · 2.7 KB
/
Bank.java
File metadata and controls
92 lines (85 loc) · 2.7 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
import java.util.*;
public class Bank{
private String name;
private ArrayList<User> users;
private ArrayList<Account> accounts;
public Bank(String name){
this.name = name;
this.users = new ArrayList<User>();
this.accounts = new ArrayList<Account>();
}
public String getNewUserUUID(){
//inits
String uuid;
Random rng = new Random();
int len = 6;
boolean nonUnique;
//continue looping until we get a unique ID
do{
//genrate number
uuid="";
for(int i = 0;i<len;i++){
uuid += ((Integer)rng.nextInt(10)).toString();
}
//check to make sure it's unique
nonUnique = false;
for(User u:this.users){
if(uuid.compareTo(u.getUUID())==0){
nonUnique = true;
break;
}
}
}while(nonUnique);
return uuid;
}
public String getNewAccountUUID(){
//inits
String uuid;
Random rng = new Random();
int len = 10;
boolean nonUnique;
//continue looping until we get a unique ID
do{
//genrate number
uuid="";
for(int i = 0;i<len;i++){
uuid += ((Integer)rng.nextInt(10)).toString();
}
//check to make sure it's unique
nonUnique = false;
for(Account a:this.accounts){
if(uuid.compareTo(a.getUUID())==0){
nonUnique = true;
break;
}
}
}while(nonUnique);
return uuid;
}
public void addAccount(Account anAct){
this.accounts.add(anAct);
}
public User addUser(String firstName,String lastName,String pin){
//create a new user object and add it to our list
User newUser = new User(firstName,lastName,pin,this);
this.users.add(newUser);
//create a saving account for the user and add user to User and Bank account lists
Account newAccount = new Account("Savings",newUser,this);
newUser.addAccount(newAccount);
this.accounts.add(newAccount);
return newUser;
}
public User userLogin(String userID,String pin){
//search through lists of user
for(User u:this.users){
//check usser ID is correct
if(u.getUUID().compareTo(userID)==0 && u.validatePin(pin)){
return u;
}
}
return null;//either pin or user invalid or both invalid
}
public String getName(){
return this.name;
}
}