CS 1063, Fall 2005
Commission class

The lectures for Week 10 has you work on a simple table of commission rates for different levels of sales. (The assumption here is that "Up to $10,000" does not include $10,000 exactly.)

Sales Commission
Rate
Up to $10,000 10%
10,000 to 15,000 15%
Over 15,000 20%

Here are classes Commission and CommissionTest:

File: Commission.java File: CommissionTest.java
public class Commission {
   // Just use default constructor

   public double CR1(int sales) {
      double rate;
      if (sales < 10000) rate = 0.10;
      else if (sales <= 15000) rate = 0.15;
      else rate = 0.20;
      
      return rate;
   }
   
   public double CR2(int sales) {
      double rate = .20;
      if (sales <= 15000) rate = 0.15;
      // must not have "else" below
      if (sales < 10000) rate = 0.10;
      
      return rate;
   }
      
   public double CR3(int sales) {
      double rate;
      if (sales < 10000) rate = 0.10;
      else if (sales >= 10000 && 
               sales <= 15000) rate = 0.15;
      else if (sales > 15000) rate = 0.20;
      // must have following to satisfy compiler
      else rate = -0.10;
      
      return rate;
   }
}
public class CommissionTest {

   public static void main(String[] args) {
      Commission com = new Commission();
      
      int sales = 9999;
      System.out.println("Sales: " + sales +
         ", rate (CR1): " + com.CR1(sales));
      sales = 10000;
      System.out.println("Sales: " + sales +
         ", rate (CR1): " + com.CR1(sales));
      sales = 15000;
      System.out.println("Sales: " + sales +
         ", rate (CR1): " + com.CR1(sales));
      sales = 15001;
      System.out.println("Sales: " + sales +
         ", rate (CR1): " + com.CR1(sales));
      System.out.println();
      
      sales = 9999;
      System.out.println("Sales: " + sales +
         ", rate (CR2): " + com.CR2(sales));
      sales = 10000;
      System.out.println("Sales: " + sales +
         ", rate (CR2): " + com.CR2(sales));
      sales = 15000;
      System.out.println("Sales: " + sales +
         ", rate (CR2): " + com.CR2(sales));
      sales = 15001;
      System.out.println("Sales: " + sales +
         ", rate (CR2): " + com.CR2(sales));
      System.out.println();
      
      sales = 9999;
      System.out.println("Sales: " + sales +
         ", rate (CR3): " + com.CR3(sales));
      sales = 10000;
      System.out.println("Sales: " + sales +
         ", rate (CR3): " + com.CR3(sales));
      sales = 15000;
      System.out.println("Sales: " + sales +
         ", rate (CR3): " + com.CR3(sales));
      sales = 15001;
      System.out.println("Sales: " + sales +
         ", rate (CR3): " + com.CR3(sales));
      System.out.println();
   }
}

Here is the resulting output.

Results of a run
Sales: 9999, rate (CR1): 0.1
Sales: 10000, rate (CR1): 0.15
Sales: 15000, rate (CR1): 0.15
Sales: 15001, rate (CR1): 0.2

Sales: 9999, rate (CR2): 0.1
Sales: 10000, rate (CR2): 0.15
Sales: 15000, rate (CR2): 0.15
Sales: 15001, rate (CR2): 0.2

Sales: 9999, rate (CR3): 0.1
Sales: 10000, rate (CR3): 0.15
Sales: 15000, rate (CR3): 0.15
Sales: 15001, rate (CR3): 0.2