// EXCEPTION // I NEED HELP /* 1. An empty string is given for the employee’s na
ID: 3702036 • Letter: #
Question
// EXCEPTION
// I NEED HELP
/*
1. An empty string is given for the employee’s name.
2. An invalid value is given for the employee’s ID number. If you implemented this field as a string, then an empty string could be invalid. If you implemented this field as a numeric variable, then a negative number or zero would be invalid.
3. An invalid number is given for the number of hours worked. This would be a negative number or a number greater than 84.
4. An invalid number is given for the hourly pay rate. This would be a negative number or a number greater than 25
.*/
/**
Payroll class
Chapter 6, Programming Challenge 5
*/
public class Payroll
{
private String name; // Employee name
private int idNumber; // ID number
private double payRate; // Hourly pay rate
private double hoursWorked; // Number of hours worked
/**
The constructor initializes an object with the
employee's name and ID number.
@param n The employee's name.
@param i The employee's ID number.
*/
public Payroll(String n, int i)
{
name = n;
idNumber = i;
}
/**
The setName sets the employee's name.
@param n The employee's name.
*/
public void setName(String n)
{
name = n;
}
/**
The setIdNumber sets the employee's ID number.
@param i The employee's ID number.
*/
public void setIdNumber(int i)
{
idNumber = i;
}
/**
The setPayRate sets the employee's pay rate.
@param p The employee's pay rate.
*/
public void setPayRate(double p)
{
payRate = p;
}
/**
The setHoursWorked sets the number of hours worked.
@param h The number of hours worked.
*/
public void setHoursWorked(double h)
{
hoursWorked = h;
}
/**
The getName returns the employee's name.
@return The employee's name.
*/
public String getName()
{
return name;
}
/**
The getIdNumber returns the employee's ID number.
@return The employee's ID number.
*/
public int getIdNumber()
{
return idNumber;
}
/**
The getPayRate returns the employee's pay rate.
@return The employee's pay rate.
*/
public double getPayRate()
{
return payRate;
}
/**
The getHoursWorked returns the hours worked by the
employee.
@return The hours worked.
*/
public double getHoursWorked()
{
return hoursWorked;
}
/**
The getGrossPay returns the employee's gross pay.
@return The employee's gross pay.
*/
public double getGrossPay()
{
return hoursWorked * payRate;
}
}
Explanation / Answer
/* 1. An empty string is given for the employee’s name. 2. An invalid value is given for the employee’s ID number. If you implemented this field as a string, then an empty string could be invalid. If you implemented this field as a numeric variable, then a negative number or zero would be invalid. 3. An invalid number is given for the number of hours worked. This would be a negative number or a number greater than 84. 4. An invalid number is given for the hourly pay rate. This would be a negative number or a number greater than 25 .*/ /** Payroll class Chapter 6, Programming Challenge 5 */ public class Payroll { private String name; // Employee name private int idNumber; // ID number private double payRate; // Hourly pay rate private double hoursWorked; // Number of hours worked /** The constructor initializes an object with the employee's name and ID number. @param n The employee's name. @param i The employee's ID number. */ public Payroll(String n, int i) { setName(n); setIdNumber(i); } /** The setName sets the employee's name. @param n The employee's name. */ public void setName(String n) { if(n == null || n.isEmpty()) { throw new IllegalArgumentException("Name can not be empty"); } name = n; } /** The setIdNumber sets the employee's ID number. @param i The employee's ID number. */ public void setIdNumber(int i) { if(i 25) { throw new IllegalArgumentException("Invalid payment rate"); } payRate = p; } /** The setHoursWorked sets the number of hours worked. @param h The number of hours worked. */ public void setHoursWorked(double h) { if(h < 0 || h > 84) { throw new IllegalArgumentException("Invalid hours"); } hoursWorked = h; } /** The getName returns the employee's name. @return The employee's name. */ public String getName() { return name; } /** The getIdNumber returns the employee's ID number. @return The employee's ID number. */ public int getIdNumber() { return idNumber; } /** The getPayRate returns the employee's pay rate. @return The employee's pay rate. */ public double getPayRate() { return payRate; } /** The getHoursWorked returns the hours worked by the employee. @return The hours worked. */ public double getHoursWorked() { return hoursWorked; } /** The getGrossPay returns the employee's gross pay. @return The employee's gross pay. */ public double getGrossPay() { return hoursWorked * payRate; } }Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.