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;
   }
}
import java.io.*;

public class CommissionTest {

   public static void main(String[] args) throws IOException {
      Commission com = new Commission();
      
      BufferedReader in =
         new BufferedReader( new InputStreamReader(System.in));
      System.out.print("Type a value for sales ---> ");
      String input = in.readLine();
      int sales = Integer.parseInt(input);

      System.out.println("Sales: " + sales +
         ", rate (CR1): " + com.CR1(sales));
      System.out.println("Sales: " + sales +
         ", rate (CR2): " + com.CR2(sales));
      System.out.println("Sales: " + sales +
         ", rate (CR3): " + com.CR3(sales));
   }
}

Results of several runs:

Type a value for sales ---> 9999
Sales: 9999, rate (CR1): 0.1
Sales: 9999, rate (CR2): 0.1
Sales: 9999, rate (CR3): 0.1

Type a value for sales ---> 10000
Sales: 10000, rate (CR1): 0.15
Sales: 10000, rate (CR2): 0.15
Sales: 10000, rate (CR3): 0.15

Type a value for sales ---> 15000
Sales: 15000, rate (CR1): 0.15
Sales: 15000, rate (CR2): 0.15
Sales: 15000, rate (CR3): 0.15

Type a value for sales ---> 15001
Sales: 15001, rate (CR1): 0.2
Sales: 15001, rate (CR2): 0.2
Sales: 15001, rate (CR3): 0.2