Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Here is one version of the CommissionEmployee class: public class CommissionEmpl

ID: 3749398 • Letter: H

Question

Here is one version of the CommissionEmployee class:

public class CommissionEmployee extends Object {
private final String firstName;
private final String lastName;
private final String socialSecurityNumber;
private double grossSales;
private double commissionRate;

public CommissionEmployee(String firstName, String lastName, String socialSecurityNumber, double grossSales, double commissionRate) {
if (grossSales < 0.0) throw new IllegalArgumentException( "Gross sales must be >= 0.0");
if (commissionRate <= 0.0 || commissionRate >= 1.0) throw new IllegalArgumentException( "Commission rate must be > 0.0 and < 1.0");
this.firstName = firstName;
this.lastName = lastName;
this.socialSecurityNumber = socialSecurityNumber;
this.grossSales = grossSales;
this.commissionRate = commissionRate;
}

public String getFirstName() {return firstName;}
public String getLastName() {return lastName;}
public String getSocialSecurityNumber() {return socialSecurityNumber;}
public void setGrossSales(double grossSales) {
if (grossSales < 0.0) throw new IllegalArgumentException( "Gross sales must be >= 0.0");
this.grossSales = grossSales;
}
public double getGrossSales() {return grossSales;}
public void setCommissionRate(double commissionRate) {
if (commissionRate <= 0.0 || commissionRate >= 1.0) throw new IllegalArgumentException( "Commission rate must be > 0.0 and < 1.0");
this.commissionRate = commissionRate;
}
public double getCommissionRate() {return commissionRate;}
public double earnings() {return commissionRate * grossSales;}

@Override
public String toString() {
return String.format("%s: %s %s%n%s: %s%n%s: %.2f%n%s: %.2f",
"commission employee", firstName, lastName,
"social security number", socialSecurityNumber,
"gross sales", grossSales,
"commission rate", commissionRate);
}
}

However, it's important to note that not all employees are CommissionEmployees. Create a more general Employee superclass that factors out the attributes and behaviors in CommissionEmployees that are common to all Employees. The common attributes and behaviors for all Employees are firstName, lastName, socialSecurityNumber, getFirstName, getLastName, getSocialSecurityNumber, and a portion of the method toString. Create a new superclass Employee that contains these instance variables and methods and a constructor.

Next, rewrite the CommissionEmployee class as a subclass of Employee. CommissionEmployee should contain only the instance variables and methodsthat are not declared in superclass Employee. CommissionEmployee's constructor should invoke Employee's constructor and CommissionEmployee's toString method should invoke Employee's toString method.

Create a Driver class to test your new CommissionEmployee class. Prompt the user to input the first name, last name, social security number, gross sales, and commission rate and create a CommissionEmployee object, using the toString method to print its information.

USE different JAVA code that is not found online or on chegg.

Explanation / Answer

public class Employee { private final String firstName; private final String lastName; private final String socialSecurityNumber; public Employee(String firstName, String lastName, String socialSecurityNumber) { this.firstName = firstName; this.lastName = lastName; this.socialSecurityNumber = socialSecurityNumber; } public String getFirstName() {return firstName;} public String getLastName() {return lastName;} public String getSocialSecurityNumber() {return socialSecurityNumber;} @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(" firstname " + firstName); builder.append(" lasname " + lastName); builder.append("social security number" + socialSecurityNumber); return builder.toString(); } } public class CommissionEmployee extends Employee{ private double grossSales; private double commissionRate; public CommissionEmployee(String firstName, String lastName, String socialSecurityNumber, double grossSales, double commissionRate) { super(firstName,lastName,socialSecurityNumber); if (grossSales < 0.0) throw new IllegalArgumentException( "Gross sales must be >= 0.0"); if (commissionRate = 1.0) throw new IllegalArgumentException( "Commission rate must be > 0.0 and < 1.0"); this.grossSales = grossSales; this.commissionRate = commissionRate; } @Override public String toString() { System.out.println(" Gross sales :: toString method is " + grossSales); System.out.println(" commision Rate :: toString method is " + commissionRate); return super.toString(); } } import java.util.Scanner; public class Driver { public static void main(String args[]){ Scanner s = new Scanner(System.in); /* Prompting user to input first name */ System.out.println("Enter your firstname "); String firstname = s.nextLine(); System.out.println("Your firstname is " + firstname); /* Prompting user to input last name */ System.out.println("Enter your lastname "); String lastname = s.nextLine(); System.out.println("Your lastname is " + lastname); /* Prompting user to input social security number */ System.out.println("Enter your social security number "); String ssn = s.nextLine(); System.out.println("Your social security number is " + ssn); /* Prompting user to input gross sales */ System.out.println("Enter your gross sales "); int grosssales = s.nextInt(); System.out.println("Your grosssales is " + grosssales); /* Prompting user to commission rate */ System.out.println("Enter your commission rate "); double commissionrate = s.nextDouble(); System.out.println("Your commissionrate is " + commissionrate); CommissionEmployee commissionEmployee = new CommissionEmployee(firstname,lastname,ssn,grosssales,commissionrate); commissionEmployee.toString(); } }
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote