-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBanking_System.txt
More file actions
58 lines (43 loc) · 1.59 KB
/
Banking_System.txt
File metadata and controls
58 lines (43 loc) · 1.59 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
class Bank {
long arr[];
public Bank(long[] balance) {
int n = balance.length;
arr = new long[n];
for(int i =0; i<n; i++)
arr[i] = balance[i];
}
public boolean transfer(int account1, int account2, long money) {
if(account1-1 < 0 || account1-1 >=arr.length || account2-1 < 0 || account2-1 >=arr.length)return false;
long val1 = arr[account1 - 1];
long val2 = arr[account2 - 1];
if(val1 - money < 0)return false;
val1 = val1 - money;
arr[account1-1] = val1;
arr[account2-1] = val2+money;
return true;
}
//Added indentation
public boolean deposit(int account, long money) {
if(account-1 < 0 || account-1 >=arr.length)
return false;
long val = arr[account - 1];
val = val + money;
if(val < 0)return false;
arr[account - 1] = val;
return true;
}
public boolean withdraw(int account, long money) {
if(account-1 < 0 || account-1 >=arr.length)return false;
long val = arr[account - 1];
if(val - money < 0)return false;
arr[account-1] = val - money;
return true;
}
}
/**
* Your Bank object will be instantiated and called as such:
* Bank obj = new Bank(balance);
* boolean param_1 = obj.transfer(account1,account2,money);
* boolean param_2 = obj.deposit(account,money);
* boolean param_3 = obj.withdraw(account,money);
*/