-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBank.java
More file actions
121 lines (89 loc) · 1.76 KB
/
Copy pathBank.java
File metadata and controls
121 lines (89 loc) · 1.76 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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()
{
String uuid;
Random rng=new Random();
int len=6;
boolean nonUnique;
do{
uuid="";
for(int c=0;c<len;c++)
{
uuid+=((Integer)rng.nextInt(10)).toString();
}
nonUnique=false;
for(User u:this.users)
{
if(uuid.compareTo(u.getUUID())==0)
{
nonUnique=true;
break;
}
}
}while(nonUnique);
return uuid;
}
public String getNewAccountUUID()
{
String uuid;
Random rng=new Random();
int len=10;
boolean nonUnique;
do{
uuid="";
for(int c=0;c<len;c++)
{
uuid+=((Integer)rng.nextInt(10)).toString();
}
nonUnique=false;
for(Account a:this.accounts)
{
if(uuid.compareTo(a.getUUID())==0)
{
nonUnique=true;
break;
}
}
}while(nonUnique);
return uuid;
}
public void addAccount(Account anAcct)
{
this.accounts.add(anAcct);
}
public User addUser(String firstName,String lastName,String pin)
{
User newUser =new User(firstName,lastName,pin,this);
this.users.add(newUser);
Account newAccount=new Account("Savings", newUser,this);
newUser.addAccount(newAccount);
this.addAccount(newAccount);
return newUser;
}
public User userLogin(String userID,String pin)
{
for(User u:this.users)
{
if(u.getUUID().compareTo(userID)==0 && u.validatePin(pin))
{
return u;
}
}
return null;
}
public String getName()
{
return this.name;
}
}