Commit 4cbaffe

mokha <mokha@cisco.com>
2019-05-07 15:18:55
document the BonusOnSavings class
1 parent 44d424d
Changed files (1)
src/Q2/BonusOnSavings.java
@@ -1,18 +1,43 @@
+/**
+ * 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;
 
 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 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;
@@ -24,10 +49,25 @@ public class BonusOnSavings {
         + 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;