-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBankAccount.java
More file actions
109 lines (92 loc) · 2.12 KB
/
BankAccount.java
File metadata and controls
109 lines (92 loc) · 2.12 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
public abstract class BankAccount
{
private double balance;
private int numOfDeposits;
private int numOfWithdrawals;
private double apr;
private double serviceCharge;
public BankAccount(double balance, double apr)
{
this.balance = balance;
this.apr = apr;
}
public void deposit(double d)
{
balance += d;
numOfDeposits++;
}
public void withdraw(double w)
{
if(balance > w)
{
balance -= w;
}
else
{
System.out.println("Amount cannot be withdrawn.");
}
numOfWithdrawals++;
}
public void calcInterest()
{
double monthlyApr = (apr / 12);
double monthlyInterest = this.balance * monthlyApr / 100;
balance += monthlyInterest;
}
public void monthlyService()
{
balance -= serviceCharge;
calcInterest();
numOfWithdrawals = 0;
numOfDeposits = 0;
serviceCharge = 0;
}
public void setBalance(double balance)
{
this.balance = balance;
}
public void setNumOfDeposits(int numOfDeposits)
{
this.numOfDeposits = numOfDeposits;
}
public void setNumOfWithdrawals(int numOfWithdrawals)
{
this.numOfWithdrawals = numOfWithdrawals;
}
public void setApr(double apr)
{
this.apr = apr;
}
public void setServiceCharge()
{
if (numOfWithdrawals > 4)
{
System.out.println("You've exceeded monthly limit of withdrawals. Fee of $1 charged" );
this.serviceCharge = (numOfWithdrawals - 4) * 1.00;
}
else
{
serviceCharge = 0;
}
}
public double getBalance()
{
return balance;
}
public int getNumOfDeposits()
{
return numOfDeposits;
}
public int getNumOfWithdrawals()
{
return numOfWithdrawals;
}
public double getApr()
{
return apr;
}
public double getServiceCharge()
{
return serviceCharge;
}
}