Posted by: prankster January 23, 2014
Java
Login in to Rate this Post:     0       ?        
package test;

import java.util.Scanner;

/**
* @author Sanjay Rimal
*
*/
public class CommisionCalculation1
{
private static final Double TARGET_SALES = 120000.00;

public static void main(String[] args)
{
Scanner input = new Scanner ( System.in );
System.out.println("Please enter annual sales: $");
Double sales = input.nextDouble();

System.out.println("For annual sales of $" + sales + " and a yearly salary " + " of $48,000, total annual compensation is $" + calcCompensation(sales));

System.out.println("Compensation you could have earned");
double fiftyPercentAboveAnnualSales = 50 * sales/100 + sales;

System.out.println("Total sales | Total compensation");
while (sales <= fiftyPercentAboveAnnualSales )
{
System.out.println(sales + " | " + calcCompensation(sales));
sales = sales + 5000;
}
input.close();
}

private static double calcCompensation(Double sales)
{
double commissionFromSales = 0.0;
if (targetMet(sales))
{
commissionFromSales = 25 * sales/100;
}

if (targetExceeded(sales))
{
commissionFromSales *= 1.25;
}
return commissionFromSales;
}

/**
* @param sales
* @return
*/
private static boolean targetExceeded(Double sales)
{
return sales > TARGET_SALES;
}

/**
* @param sales
* @return
*/
private static boolean targetMet(Double sales)
{
return sales >= 80 * TARGET_SALES / 100;
}
}
Read Full Discussion Thread for this article