class SalesPerson {
private final double fixed_Salary = 50000.00; private final double commission_Rate = 1.5; private final double sales_Target = 120000.00;
private String name; private double annual_Sales; Object annualCom;
//default constructor public SalesPerson() { name = "Unknown"; annual_Sales = 0.0; }
//parameterized constructor public SalesPerson(String nm, double aSale) { name = nm; annual_Sales = aSale; }
//getter method for the name public String getName() { return name; }
//setter method to set name public void setName(String nm) { name = nm; }
//getter method for the annual sales public double getAnnualSales() { return annual_Sales; }
//method to set the value of annual sale public void setAnnualSales(double aSale) { annual_Sales = aSale; }
//method to calculate and get commission public double commission() { double commission = 0; if (annual_Sales >= (sales_Target * (80 / 100))) {//80% of the sales target
if (annual_Sales >= sales_Target) { commission = sales_Target * (commission_Rate / 100.0) + (annual_Sales - sales_Target) * (75.0 / 100.0); } else { commission = annual_Sales * (commission_Rate / 100.0); } } return commission; }
//method to calculate and get annual compensation public double annualCompensation() { return fixed_Salary + commission(); }
}
public class Main { public static void main(String args[]) {
//array list to have a collection of sales persons ArrayList<SalesPerson> sales_Persons = new ArrayList<>();
Scanner input = new Scanner(System.in); do {
//prompt the user to enter name System.out.print("Enter Sales Person name (stop to EXIT) : "); String name = input.nextLine().trim();
if (name.equalsIgnoreCase("stop")) { break; }
//creating an object of SalesPerson class SalesPerson sales_Person = new SalesPerson();
//set name of sales person sales_Person.setName(name);
//prompt the user to enter the annual sales System.out.print("Enter the annual sales : "); double sale = input.nextDouble();
//set the value of annual sale of sales person object sales_Person.setAnnualSales(sale);
//add sales Person to array list sales_Persons.add(sales_Person);
//read a blank line input.nextLine();
} while (true);
//getting the 2 minimum annual compensation double min = -1; double secondMin = -1;
if (sales_Persons.size() >= 3) {
//initialization double firstValue = sales_Persons.get(0).annualCompensation(); double secondValue = sales_Persons.get(1).annualCompensation();
//interchanging if in reverse order if (firstValue < secondValue) { min = firstValue; secondMin = secondValue; } else { min = secondValue; secondMin = firstValue; }
double nextElement = -1;
//comparing the 2 to n values for (int i = 2; i < sales_Persons.size(); i++) { nextElement = sales_Persons.get(i).annualCompensation(); if (nextElement