summaryrefslogtreecommitdiff
path: root/src/main/java/ca/mokhan/assignment1/EmployeeSavings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/ca/mokhan/assignment1/EmployeeSavings.java')
-rw-r--r--src/main/java/ca/mokhan/assignment1/EmployeeSavings.java84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/main/java/ca/mokhan/assignment1/EmployeeSavings.java b/src/main/java/ca/mokhan/assignment1/EmployeeSavings.java
deleted file mode 100644
index 44eac10..0000000
--- a/src/main/java/ca/mokhan/assignment1/EmployeeSavings.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package ca.mokhan.assignment1;
-
-import java.util.ArrayList;
-import java.util.Currency;
-import java.util.Locale;
-import java.util.Random;
-
-public class EmployeeSavings extends AddressBook {
- private double accountValue;
- private double[] monthlyInterests;
- private double[] monthlySavings;
- private double monthlyContribution;
- public static final double ANNUAL_INTEREST_RATE = 0.05;
-
- public EmployeeSavings(String firstName, String lastName) {
- this(firstName, lastName, new Random().nextInt(800 - 100) + 100.0);
- }
-
- public EmployeeSavings(String firstName, String lastName, double monthlyContribution) {
- super(firstName, "", lastName);
- this.monthlyContribution = monthlyContribution;
- this.accountValue = predictBalanceAfterMonths(12);
- }
-
- // what is d1, d2?
- public EmployeeSavings(String firstName, String lastName, double[] d1, double[] d2) {
- super(firstName, "", lastName);
- }
-
- public double getAccountValue() {
- return this.accountValue;
- }
-
- public double[] getMonthlyInterests() {
- return this.monthlyInterests;
- }
-
- public double[] getMonthlySavings() {
- return this.monthlySavings;
- }
-
- public double[] calculateInterests() {
- this.monthlyInterests = new double[12];
- for (int i = 1; i <= 12; i++) this.monthlyInterests[i - 1] = predictInterestAfterMonths(i);
- return this.monthlyInterests;
- }
-
- public double[] generateMonthlySavings() {
- this.monthlySavings = new double[12];
- for (int i = 1; i <= 12; i++) this.monthlySavings[i - 1] = predictBalanceAfterMonths(i);
- return this.monthlySavings;
- }
-
- public double predictBalanceAfterMonths(int months) {
- double monthlyRate = ANNUAL_INTEREST_RATE / 12.0;
- double balance = 0;
-
- for (int i = 0; i < months; i++)
- balance = (balance + this.monthlyContribution) * (1 + monthlyRate);
-
- return Math.round(balance * 1000) / 1000.0;
- }
-
- public double predictInterestAfterMonths(int months) {
- return Math.round(
- (predictBalanceAfterMonths(months) - (months * this.monthlyContribution)) * 1000)
- / 1000.0;
- }
-
- public static String getReport(EmployeeSavings[] accounts) {
- ArrayList<String> statement = new ArrayList<String>();
-
- for (EmployeeSavings account : accounts) statement.add(account.toString());
-
- return String.join(System.lineSeparator(), statement);
- }
-
- @Override
- public String toString() {
- Currency currency = Currency.getInstance(Locale.getDefault());
- return String.format(
- "%s %s%.2f", super.getFirstName(), currency.getSymbol(), this.getAccountValue());
- }
-}