Simple Bank System
模拟一个银行系统,存钱取钱.
主要是判断一下各种可能情况.
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 |
class Bank { private long[] b; private int n; public Bank(long[] b) { this.n = b.length; this.b = new long[n + 1]; for(int i = 0; i < n; i++){ this.b[i+1] = b[i]; } } private boolean exist(int a){ return 1 <= a && a <= n; } public boolean transfer(int a1, int a2, long m) { if(exist(a1) && exist(a2) && b[a1] >= m){ b[a1] -= m; b[a2] += m; return true; } else return false; } public boolean deposit(int a, long m) { if(!exist(a)) return false; b[a] += m; return true; } public boolean withdraw(int a, long m) { if(!exist(a)) return false; if(b[a] < m) return false; b[a] -= m; 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); */ |