File tree 1 file changed +44
-0
lines changed
1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Bank {
2
+
3
+ private long [] balance ;
4
+ public Bank (long [] balance ) {
5
+ this .balance = balance ;
6
+ }
7
+
8
+ public boolean transfer (int account1 , int account2 , long money ) {
9
+ if (isInvalidAccount (account1 ) || isInvalidAccount (account2 ) || balance [account1 - 1 ] < money ) {
10
+ return false ;
11
+ }
12
+ balance [account1 - 1 ] -= money ;
13
+ balance [account2 - 1 ] += money ;
14
+ return true ;
15
+ }
16
+
17
+ public boolean deposit (int account , long money ) {
18
+ if (isInvalidAccount (account )) {
19
+ return false ;
20
+ }
21
+ balance [account - 1 ] += money ;
22
+ return true ;
23
+ }
24
+
25
+ public boolean withdraw (int account , long money ) {
26
+ if (isInvalidAccount (account ) || balance [account - 1 ] < money ) {
27
+ return false ;
28
+ }
29
+ balance [account - 1 ] -= money ;
30
+ return true ;
31
+ }
32
+
33
+ private boolean isInvalidAccount (int accountId ) {
34
+ return !(accountId >= 1 && accountId <= this .balance .length );
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Your Bank object will be instantiated and called as such:
40
+ * Bank obj = new Bank(balance);
41
+ * boolean param_1 = obj.transfer(account1,account2,money);
42
+ * boolean param_2 = obj.deposit(account,money);
43
+ * boolean param_3 = obj.withdraw(account,money);
44
+ */
You can’t perform that action at this time.
0 commit comments