Código no muestra ningún error, pero no enviará los resultados

Mikhl:

He estado atascado tratando de encontrar el eslabón perdido, la demostración del empleado, pero el pago no calculará. Podría utilizar el conocimiento como me parece que no puede darse cuenta de lo que causaría esto. Hago creer las mentiras de problemas en TestEmployee.java.

Employee.java

package salary;
public abstract class Employee {

    public String fullName;

    public Employee() {
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public abstract double getBiWeeklyPay(); 

    public void printgetBiWeeklyPay() {
       System.out.println("Employee "+this.fullName+ "'s"+ "Bi-weekly pay is:");
    }
}

.java EmpleadoPorHoras

package salary;
public class HourlyEmployee extends Employee {

    public double hourlyRate;

    public double hoursPerWeek;

    public HourlyEmployee() {
    }

    public double getBiWeeklyPay() {
        return hourlyRate * (hoursPerWeek *2);
    }

    public double getHourlyRate() {
        return hourlyRate;
    }

    public void setHourlyRate(double hourlyRate) {
        this.hourlyRate = hourlyRate;
    }

    public double getHoursPerWeek() {
        return hoursPerWeek;
    }

    public void setHoursPerWeek(double hoursPerWeek) {
        this.hoursPerWeek = hoursPerWeek;   
    }   
}

SalaryEmployee.java

package salary;
public class SalaryEmployee extends Employee {

    public SalaryEmployee() {
    }

    public double salary;

    public double getBiWeeklyPay() {
        return salary/(52*2) ;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
}

TestEmployee.java

package salary;
import java.util.*;

public class TestEmployee {

    public static void main(String[] args){

    java.util.ArrayList<Employee> employees = new java.util.ArrayList<Employee>();

    SalaryEmployee john = new SalaryEmployee();
    john.setFullName("John Doe");
    john.setSalary(50000.00);
    employees.add(john);

    HourlyEmployee bob = new HourlyEmployee();
    bob.setFullName("Bob Smith");
    bob.setHourlyRate(15.00);
    bob.setHoursPerWeek(20.00);
    employees.add(bob);

    HourlyEmployee Joe = new HourlyEmployee();
    Joe.setFullName("Joe Moe");
    Joe.setHourlyRate(27.00);
    Joe.setHoursPerWeek(45.00);
    employees.add(Joe);

    HourlyEmployee Doe = new HourlyEmployee();
    Doe.setFullName("Doe Joe");
    Doe.setHourlyRate(20.00);
    Doe.setHoursPerWeek(25.00);
    employees.add(Doe);

    print(employees);

    }

    public static void print(ArrayList<Employee> employees){   
        for(Employee e: employees){
          e.printgetBiWeeklyPay();
        }
    }

}

Empleado, el salario, cada hora se premade principalmente a lo largo con TestEmployee i instruyó. He leído a través de mi libro de texto y mis maestros conferencias, y todo parece estar en orden. Espero que alguien me pudiera dar una pista y voy a tener una mejor comprensión.

Angus Tay:
public void printgetBiWeeklyPay() {
   System.out.println("Employee "+this.fullName+ "'s"+ "Bi-weekly pay is:");
} 

En referencia a su código de arriba, su printgetBiWeeklyPay método () simplemente hizo lo que usted ha mencionado, imprimir el nombre del empleado y pago quincenal, pero sin el número ... ¿Se puede ver que se echa en falta la variable crucial en la sentencia de impresión? ¿Dónde está la variable de pago bisemanal? Nunca se lo llama, por lo tanto, no se produce ninguna salida del pago bisemanal.

Quizás:

public void printgetBiWeeklyPay() {
   System.out.print("Employee "+this.fullName+ "'s"+ "Bi-weekly pay is:" + String.valueOf(this.getBiWeeklyPay());
}

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=404189&siteId=1
Recomendado
Clasificación