2017-10-18 45 views
-6

J'ai donc écrit un code pour un laboratoire dans lequel nous devons créer une classe de paie où nous avons les getters et setters pour le nom, l'adresse, le salaire et les heures travaillées, puis créer une méthode pour imprimer l'adresse et le nom et une autre méthode pour calculer les heures travaillées x payer et l'imprimer avec l'adresse et le nom sur une autre classe intitulée demoPayroll. Mes getters et setters ne sont pas transférés à la démoPayroll. C'est le code que j'ai. Toute aide est grandement appréciée!Nouveau pour le codage et les getters et les setters ne fonctionnent pas pour une nouvelle classe?

import java.util.Scanner; 

public class DemoPayroll { 

    public static void main(String[] args) { 
     Payroll newEmpInfoObject = new Payroll(); 

     System.out.println("Enter name"); 
     Scanner keyboard = new Scanner(System.in); 
     String name = keyboard.nextLine(); 
     System.out.println("Enter Address"); 
     String address = keyboard.nextLine(); 
     System.out.println("Enter Hourly Pay"); 
     double payrate = keyboard.nextDouble(); 
     System.out.println("Enter Hours Worked"); 
     double hours = keyboard.nextDouble(); 

     newEmpInfoObject.printEmpInfo(); 
     newEmpInfoObject.getGrossPayEarned(); 
    } 
} 

public class Payroll { 
    private String name; 
    private String address; 
    private double payrate; 
    private double hours; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 

    public double getPayrate() { 
     return payrate; 
    } 

    public void setPayrate(double payrate) { 
     this.payrate = payrate; 
    } 

    public double getHours() { 
     return hours; 
    } 

    public void setHours(double hours) { 
     this.hours = hours; 
    } 

    public Object printEmpInfo() { 
     System.out.println(name); 
     System.out.println(address); 
     return address; 
    } 
} 
+1

Où êtes-vous appelez vos setters? –

+4

Vous n'appelez aucun setter. – blafasel

+2

Vous n'utilisez jamais vos getters et setters. Les seules méthodes que vous invoquez sur votre objet 'Payroll' sont' printEmpInfo() 'et' getGrossPayEarned() '. En outre, s'il vous plaît ranger le code dans votre question. –

Répondre

0

Tout d'abord, je pourrait penser que vous avez copié le programme à partir d'une source externe, car il y a beaucoup d'erreurs de compilation. Quoi qu'il en soit ... essayez ceci cela pourrait fonctionner ...

import java.util.Scanner;

DemoPayroll public class {

public static void main(String[] args) { 
    Payroll newEmpInfoObject = new Payroll(); 

    System.out.println("Enter name"); 
    Scanner keyboard = new Scanner(System.in); 
    String name = keyboard.nextLine(); 
    System.out.println("Enter Address"); 
    String address = keyboard.nextLine(); 
    System.out.println("Enter Hourly Pay"); 
    double payrate = keyboard.nextDouble(); 
    System.out.println("Enter Hours Worked"); 
    double hours = keyboard.nextDouble(); 
    System.out.println("Enter Weeks"); 
    int week = keyboard.nextInt(); 

    Payroll pay=new Payroll(); 

    pay.printEmpInfo(name,address); 
    System.out.println(pay.getGrossPayEarned(payrate,hours,week)); 
} 

}

classe paie {

private double payrate; 
private double hours; 

public Object printEmpInfo(String name,String address) { 
    System.out.println(name); 
    System.out.println(address); 
    return address; 
} 
public double getGrossPayEarned(double payrate,double hours,int week) { 
    return (hours)*((hours/week)*52)/12; 
} 

}