diff options
Diffstat (limited to 'src/main/java/ca/mokhan/assignment1/EmployeeSavings.java')
| -rw-r--r-- | src/main/java/ca/mokhan/assignment1/EmployeeSavings.java | 84 |
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()); - } -} |
