Skip to content

Commit 96a599f

Browse files
authored
Create Simple Bank System.java
1 parent a32a124 commit 96a599f

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

Medium/Simple Bank System.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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+
*/

0 commit comments

Comments
 (0)