import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main
(String[] args
) {
Employee number1= new Employee("David",20);
Employee number2= new Employee("Michael",10);
Employee number3= new Employee("Bob",15);
Employee number4= new Employee("Tom",12);
Employee number5= new Employee("Carl",16);
list.add(number1);
list.add(number2);
list.add(number3);
list.add(number4);
list.add(number5);
for (int i = 0; i < list.size(); i++)
{
Employee e = (Employee) list.get(i);
System.
out.
println(e.
toString());
}
}
}
public class Employee
{
// Class constants
static public final int MAX_DAYS = 5;
static public final int MAX_REGULAR_HOURS = MAX_DAYS * 8;
// Class variables
static private int numEmployees = 0;
// Instance variables
private double payRate;
// Constructor methods
// Initialize a new employee's name to the empty string and her
// pay rate and hours worked to 0
public Employee()
{
name = "";
payRate = 0;
}
// Initialize a new employee's attributes to the given parameters
public Employee
(String name,
double payRate
) {
this.name = name;
this.payRate = payRate;
numEmployees++;
}
// Set an employee's name
public void setName
(String name
) {
this.name = name;
}
// Get an employee's name
{
return name;
}
// Set an employee's pay rate
public void setPayRate (double newRate)
{
payRate = newRate;
}
// Get an employee's pay rate
public double getPayRate ()
{
return payRate;
}
// Compute and return an employee's weekly pay
public double computePay()
{
return payRate * MAX_REGULAR_HOURS;
}
static public int getNumEmployees()
{
return numEmployees;
}
// Return a string representation of a employee's name, pay rate
// and hours worked.
{
String str =
"Name: " + name +
"\n" +
"Pay rate: " + payRate + "\n";
return str;
}
public int compareTo
(Object o
) {
Employee employee= (Employee)o;
if(this.getName().compareTo(employee.getName()) > 0)
return 1;
else
if( this.getName().compareTo(employee.getName()) < 0)
return -1;
return 0;
}
}