I am a novice programmer and I was given the following task: write a Payroll class that uses the following arrays as fields : employeeId (holds 7 integers that are initialized, I placed them in my code below), hours and payRate (both are doubles and hold 7 numbers). I need a default constructor, getEmployeeId accessor, setHours and setPayRate mutators, and getGrossPay, which accepts employeeId as an argument and returns gross pay for the employee given.
The program then should display the number of each employee and ask for the employee's hours and pay rate, and then display the employee's number and gross pay. This is the code I have so far:
Expand|Select|Wrap|Line Numbers
- import java.util.Scanner;
- class Payroll
- {
- private String [] employeeId;
- private double [] hours;
- private double [] payRate;
- public Payroll()
- {
- employeeId = new String [] { "5658845", "4520125", "7895122" , "8777541", "8451277", "1302850", "7580489" };
- hours = new double[7];
- payRate = new double[7];
- }
- public String [] getEmployeeId ()
- {
- return employeeId;
- }
- public void setHours (double [] hrs)
- {
- hours = hrs;
- }
- public void setPayRate (double [] rate)
- {
- payRate = rate;
- }
- public int getGrossPay (int employeeId)
- {
- int index = 0;
- for(int i = 0; i < employeeId; i++)
- {
- if (employeeId [i].equalsIgnoreCase (employeeId) )
- {
- index = i;
- break;
- }
- }
- return hours [index] * payRate [index];
- }
- }
- public class PayrollDriver
- {
- public static void main (String args[])
- {
- Scanner in = new Scanner (System.in);
- Payroll pay = new Payroll();
- String [] EmployeeId = Payroll.getEmployeeId();
- double [] localHours = new double [EmployeeId.length];
- for(double i = 0; i < EmployeeId.length; i++)
- {
- System.out.println ("Please enter the hours worked on " + EmployeeId[i]);
- localHours[i] = in.nextDouble();
- }
- pay.setHours(localHours);
- double [] localPayRate = new double [EmployeeId.length];
- for(double i = 0; i < EmployeeId.length; i++)
- {
- System.out.println ("Please enter the pay rate for Employee " + EmployeeId[i]);
- localPayRate[i] = in.nextDouble();
- }
- pay.setPayRate(localPayRate);
- for (int i = 0; i < employeeId.length; i++)
- {
- System.out.print("The gross pay for Employee " + EmployeeId[i]); //"The gross pay for employee Id
- System.out.println( " is " + pay.getHours(EmployeeId[i])* pay.getPayRate(EmployeeId[i]) ); //Display gross pay
- }
- }
- }
Expand|Select|Wrap|Line Numbers
- PayrollDriver.java:47: array required, but int found
- if (employeeId [i].equalsIgnoreCase (employeeId) )
- ^
- PayrollDriver.java:56: possible loss of precision
- found : double
- required: int
- return hours [index] * payRate [index]; //hours [i] * payrate [i];
- ^
- PayrollDriver.java:80: non-static method getEmployeeId() cannot be referenced from a static context
- String [] EmployeeId = Payroll.getEmployeeId();
- ^
- PayrollDriver.java:86: possible loss of precision
- found : double
- required: int
- System.out.println ("Please enter the hours worked on " + EmployeeId[i]);
- ^
- PayrollDriver.java:87: possible loss of precision
- found : double
- required: int
- localHours[i] = in.nextDouble();
- ^
- PayrollDriver.java:98: possible loss of precision
- found : double
- required: int
- System.out.println ("Please enter the pay rate for Employee " + EmployeeId[i]);
- ^
- PayrollDriver.java:99: possible loss of precision
- found : double
- required: int
- localPayRate[i] = in.nextDouble();
- ^
- PayrollDriver.java:109: cannot find symbol
- symbol : variable employeeId
- location: class PayrollDriver
- for (int i = 0; i < employeeId.length; i++)
- ^
- PayrollDriver.java:112: cannot find symbol
- symbol : method getHours(java.lang.String)
- location: class Payroll
- System.out.println( " is " + pay.getHours(EmployeeId[i])* pay.getPayRate(EmployeeId[i]) ); //Display gross pay
- ^
- PayrollDriver.java:112: cannot find symbol
- symbol : method getPayRate(java.lang.String)
- location: class Payroll
- System.out.println( " is " + pay.getHours(EmployeeId[i])* pay.getPayRate(EmployeeId[i]) ); //Display gross pay
- ^
- 10 errors