// How do I throw an IllegalArgumentException if the salary argument is negative ("setBaseSalary")
// Note: Right now I DONT need a Main()
// Thanks
public class BasePlusCommissionEmployeeComposition {
private double baseSalary; [b]// base salary per week
// Demonstrate composition of (as opposed to inheritance from) a CommissionEmployee object[/b]
private String firstName;
private String lastName;
private String socialSecurityNumber;
private double baseSales;
private double baseRate;
public BasePlusCommissionEmployeeComposition( String first, String last,
String ssn, double sales, double rate, double salary) {
firstName = first;
lastName = last;
socialSecurityNumber = ssn;
setBaseSales( sales ); // validate and store gross sales
setBaseRate( rate );
setBaseSalary(salary);
}
public void setBaseSalary(double salary)
{
if ( salary >= 0.0 )
baseSalary = salary;
else
throw new IllegalArgumentException(
"Base salary must be >= 0.0" );
}
public double getBaseSalary()
{
return baseSalary;
}
//
public String getFirstName() {
return firstName;
}
public void setFirstName(String first) {
firstName = first;
}
public String getLastName() {
return lastName;
}
public void setLastName(String last) {
lastName = last;
}
public String getSocialSecurityNumber() {
return socialSecurityNumber;
}
public void setSocialSecurityNumber(String ssn) {
socialSecurityNumber = ssn;
}
public double getSales() {
return baseSales;
}
public void setBaseSales(double sales) {
baseSalary = sales;
}
public double getRate() {
return baseRate;
}
public void setBaseRate(double rate) {
baseRate = rate;
}
public double earnings() {
return baseSalary + (baseRate * baseSales);
}
@Override
public String toString() {
return String.format(
"%s: %s %s\n%s: %s\n%s: %.2f\n%s: %.2f\n%s: %.2f",
"base-salaried commission employee", firstName, lastName,
"social security number", socialSecurityNumber,
"gross sales", baseSales, "commission rate", baseRate,
"base salary", baseSalary);
}
}
Edit: Added code tags. Please use code tags.
This post has been edited by GregBrannon: 10 March 2013 - 02:13 AM

New Topic/Question
Reply



MultiQuote



|