diff options
| author | mo <mo.khan@gmail.com> | 2019-05-25 15:27:51 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2019-05-25 15:27:51 -0600 |
| commit | 856c35dbc7080922bfff7c10a7a844a9d0a1cd65 (patch) | |
| tree | 739b413bc2a29adc35229ef2fd9b30581601a206 /src/Q2/BonusOnSavings.java | |
| parent | 46f68298527e0c59b9f34003b687259477093fde (diff) | |
start assignment 2
Diffstat (limited to 'src/Q2/BonusOnSavings.java')
| -rw-r--r-- | src/Q2/BonusOnSavings.java | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/Q2/BonusOnSavings.java b/src/Q2/BonusOnSavings.java deleted file mode 100644 index 2872d02..0000000 --- a/src/Q2/BonusOnSavings.java +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Assignment 1, COMP268 Class: BonusOnSavings.java - * - * @description Represents an object that can compute a bonus based on the amount an employee saves. - * @author: mo khan Student ID: 3431709 - * @date May 7, 2019 - * @version 1.0 - */ -package Q2; - -import java.util.Scanner; - -public class BonusOnSavings { - double annualRate = 0.0; - double quarterlyRate = 0.0; - - /** Constructs a BonusOnSavings with a default quarterly rate of 3% and annual rate of 5%. */ - public BonusOnSavings() { - this(0.03, 0.05); - } - - /** - * Constructs a BonusOnSavings object for a given income and marital status, and computes the tax. - * - * @param quarterlyRate the quarterly rate to apply. - * @param annualRate the annual rate to apply. - */ - public BonusOnSavings(double quarterlyRate, double annualRate) { - this.quarterlyRate = quarterlyRate; - this.annualRate = annualRate; - } - - /** - * Computes the bonus based on the target monthly commitment and the actual quarterly - * contributions. - * - * @param monthlyCommitment the target monthly commitment for each month. - * @param q1 the actual contribution for the first quarter. - * @param q2 the actual contribution for the second quarter. - * @param q3 the actual contribution for the third quarter. - * @param q4 the actual contribution for the fourth quarter. - * @return the calculated bonus amount for the year. - */ - public double computeBonus(double monthlyCommitment, double q1, double q2, double q3, double q4) { - double quarterlyTarget = monthlyCommitment * 3; - double annualTarget = monthlyCommitment * 12; - - return this.quarterlyBonus(quarterlyTarget, q1) - + this.quarterlyBonus(quarterlyTarget, q2) - + this.quarterlyBonus(quarterlyTarget, q3) - + this.quarterlyBonus(quarterlyTarget, q4) - + this.annualBonus(annualTarget, q1 + q2 + q3 + q4); - } - - /** - * Computes the quarterly bonus for a given target and actual contribution amount. - * - * @param target the target quarterly contribution amount for this employee. - * @param actual the actual quarterly contribution amount for this employee. - * @return the calculated quarterly bonus - */ - private double quarterlyBonus(double target, double actual) { - return (actual >= target) ? actual * this.quarterlyRate : 0.0; - } - - /** - * Calculates the annual bonus amount for the target annual contribution and the actual - * contribution. - * - * @param target the target annual contribution - * @param actual the actual contribution amount for the year - * @return the calculated annual bonus - */ - private double annualBonus(double target, double actual) { - if (actual < target) return 0.0; - - return (actual * this.annualRate) + ((actual - target) * 0.25); - } - - public static void main(String[] args) { - Scanner in = new Scanner(System.in); - System.out.print("Please enter your target monthly contribution: "); - double monthlyCommitment = in.nextDouble(); - - System.out.print("Please enter Q1 contributions: "); - double q1 = in.nextDouble(); - - System.out.print("Please enter Q2 contributions: "); - double q2 = in.nextDouble(); - - System.out.print("Please enter Q3 contributions: "); - double q3 = in.nextDouble(); - - System.out.print("Please enter Q4 contributions: "); - double q4 = in.nextDouble(); - - double bonus = new BonusOnSavings().computeBonus(monthlyCommitment, q1, q2, q3, q4); - - System.out.println("The calculated bonus is " + bonus); - } -} |
