Haven't found the Essay You Want?
For Only $12.90/page

Prg420 V10 Week 4 Individual Assignment Essay

PRG420 (Version 10) – Week 4 Individual- Simple Commission Calculation Program Part 3

Modify the Week Three Java™ application using Java™ NetBeans™ IDE to meet these additional and changed business requirements:
* The application will now compare the total annual compensation of at least two salespersons. * It will calculate the additional amount of sales that each salesperson must achieve to match or exceed the higher of the two earners. * The application should ask for the name of each salesperson being compared.

The Java™ application should also meet these technical requirements:
* The application should have at least one class, in addition to the application’s controlling class. * The source code must demonstrate the use of Array or ArrayList. * There should be proper documentation in the source code.

Source Code:

Program: Simple Commission Calculation Program Part 3
Purpose: to calculates and display the total annual compensation of a salesperson. Programmer:
Class: PRG420
Creation Date:
Programmer Modification Date:
Purpose: to add name of sales person and also functionality to manage the list of sales persons an comparing their annual compensation Program Summary: This program will calculate and display the total annual compensation of a salesperson. Here in this program the salary of the salesman and its commission rate is fixe and program accepts sales amount.

import java.util.ArrayList;
import java.util.Scanner;
import java.text.NumberFormat;

class SalesPerson {

private final double fixed_Salary = 35750.00;
private final double commission_Rate = 12.0;
private final double sales_Target = 125250.00;

private String name;
private double annual_Sales;

//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 calcualte 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); }
commission = annual_Sales * (commission_Rate/100.0); }
return commission ;

//method to calcualte 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<SalesPerson>();

//create an object of Scanner calss to get the keyboard input Scanner input = new Scanner(;

//prompt the user to enter name
System.out.print(“Enter salesperson name (stop to EXIT) : “); String name = input.nextLine().trim();


//creating an object of SalesPerson class
SalesPerson sales_Person = new SalesPerson();

//set name of sales person

//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
//read a blank line


//getting the 2 minimum annual compensation
double min = -1;
double secondMin = -1;


double firstValue = sales_Persons.get(0).annualCompensation(); double secondValue = sales_Persons.get(1).annualCompensation();

//intechanging if in reverse oreder
if (firstValue < secondValue) {
min = firstValue;
secondMin = secondValue;
else {
min = secondValue;
secondMin = firstValue;

double nextElement = -1;

//compring the 2 to n values
for (int i = 2; i < sales_Persons.size(); i++) { nextElement = sales_Persons.get(i).annualCompensation(); if (nextElement < min) {
secondMin = min;
min = nextElement;
else if (nextElement < secondMin) {
secondMin = nextElement;


//displaying result
NumberFormat nf = NumberFormat.getCurrencyInstance();

//All salespersons and their total annual compensation System.out.println(“\n”);
System.out.printf(String.format(“%-20s%-20s”,”Name”, “Total annual compensation” )); System.out.println();

for(SalesPerson salesperson :sales_Persons){
System.out.printf(String.format(“%-20s%20s”,salesperson.getName(), nf.format(salesperson.annualCompensation()))); System.out.println();

//dipslyaing the all sales persons additional amount of sales other the 2 memebrs who have minimum sales System.out.println(“\n”);

for(int i=0; i< sales_Persons.size();i++){

double compensation = sales_Persons.get(i).annualCompensation();

if(compensation == min || compensation == secondMin) continue;

System.out.println(“Name of Salesperson : “+sales_Persons.get(i).getName()); System.out.println(“The total annual compensation : “+nf.format(compensation));

System.out.println(“Total Sales\tTotal Compensation”);

double sale = sales_Persons.get(i).getAnnualSales(); for(double j =sale; j<= (sale+ sale * 0.5); j+= 5000.0 ) { sales_Persons.get(i).setAnnualSales(j);
pensation())); }

Essay Topics:

Sorry, but copying text is forbidden on this website. If you need this or any other sample, we can send it to you via email. Please, specify your valid email address

We can't stand spam as much as you do No, thanks. I prefer suffering on my own

Courtney from Study Moose

Hi there, would you like to get such a paper? How about receiving a customized one? Check it out