2016-10-05 3 views
0

問題がある結果のさ。適切なアクセサメソッドとミューテータメソッドを書く。従業員の名前とID番号をagrumentsとして受け入れるコンストラクタを書く。クラスには、従業員の総賃金を返すメソッドも用意されていなければなりません。これは、労働時間数に時間単価を掛けたものとして計算されます。 Payrollオブジェクトを作成し、その従業員のデータを入力するように要求することによって、クラスを示すプログラムを作成します。プログラムは、得られた総賃金の額を表示する必要があります。私はクラス給与は0

import java.util.Scanner; //Needed for scanner class. 
public class Payroll 
{ 
    private String EmployeeName; 
    private int IDnumber; 
    private double HourlyPayRate; 
    private double HoursWorked; 
    private double GrossPay; 

    /** 
     Constructor 
     @param Name The name to store in EmployeeName. 
     @param ID The ID to store in Employee ID number. 
    */ 
    public Payroll(String Name, int ID) 
    { 
     EmployeeName = Name; 
     IDnumber = ID; 
    } 
    public String getEmployeeName() 
    { 
     return EmployeeName; 
    } 
    public int getIDnumber() 
    { 
     return IDnumber; 
    } 
    public void setHourlyPayRate(double HourlyRate) 
    { 
     HourlyPayRate = HourlyRate; 
    } 
    public double getHourlyPayRate() 
    { 
     return HourlyPayRate; 
    } 
    public void setHoursWorked(double hoursWorked) 
    { 
     HoursWorked = hoursWorked; 
    } 
    public double getHoursWorked() 
    { 
     return HoursWorked; 
    } 
    public double getGrossPay() 
    { 
     return HourlyPayRate * HoursWorked; 
    } 
} 

コンストラクタ

import java.util.Scanner; //Needed for Scanner class. 

public class PayrollTest 
{ 
    public static void main(String[] args) 
    { 
     String EmployeeName; 
     int IDnumber; 
     double HoursWorked; 
     double HourlyPayRate; 
     double GrossPay; 

     //Create a Scanner object for keyboard input. 
     Scanner keyboard = new Scanner(System.in); 

     //Get the employee's name. 
     System.out.println("Enter an employee's name: "); 
     EmployeeName = keyboard.nextLine(); 

     //Get the employee's ID. 
     System.out.println("Enter the employee's ID "); 
     IDnumber = keyboard.nextInt(); 

     //Get the number of hours worked by the employee. 
     System.out.println("Enter the amount of hours worked by this employee: "); 
     HoursWorked = keyboard.nextDouble(); 

     //Get the hourly pay rate of the employee. 
     System.out.println("Enter the hourly pay rate for this employee: "); 
     HourlyPayRate = keyboard.nextDouble(); 

     //Create a payroll object, passing EmployeeName and IDnumber 
     // as arguments to the constructor. 
     Payroll pay = new Payroll(EmployeeName, IDnumber); 

     //Get the Gross Pay of the employee. 
     System.out.println("The gross pay of " + EmployeeName + " is: " + pay.getGrossPay()); 
    } 
} 

のために持っているものをHERESに
私はそれをコンパイルすると、私はエラーを取得できませんでしたが、私は最後にgrosspay = 0.0の結果を得続けます。

+1

あなたの宿題をチェックする人はここにいません。私はあなたの問題を実証するためにこれを最小限に抑えることをお勧めします。参照してください:[最小、完全、および検証可能な例を作成する方法](http://stackoverflow.com/help/mcve) –

+0

提案していただきありがとうございます、ごめんなさい。 –

答えて

0

新しいPayrollオブジェクト

Payroll pay = new Payroll(EmployeeName, IDnumber); 

を作成し、print文以下のことを行い方法

pay.getGrossPay() 

でそれにgetGrossPay()メソッドを呼び出す:あなた以来

return HourlyPayRate * HoursWorked; 

決して設定しないHourlyPayRateまたはHoursWorkedは、もちろん方法は、ユーザーから読み込まれた変数にそれらの値を設定し、これを修正するには0

を返すために起こっている:

pay.setHoursWorked(HoursWorked); 
pay.setHourlyPayRate(HourlyPayRate); 

あなたがPayrollオブジェクトを作成した後、あなたはそれらの行を追加することができますただし、getGrossPay()メソッドを呼び出す前にしたがって、コードの最後の4行は、次のようになります。

Payroll pay = new Payroll(EmployeeName, IDnumber); 

//set pay rate and hours worked 
pay.setHoursWorked(HoursWorked); 
pay.setHourlyPayRate(HourlyPayRate); 

//Get the Gross Pay of the employee. 
System.out.println("The gross pay of " + EmployeeName + " is: " + pay.getGrossPay()); 
+0

ありがとう、本当にありがとう:D !! –

+1

こんにちは@JessicaLim。 upvotingと/またはこの答えを受け入れることで感謝の気持ちを示すことができます! – msandiford

+0

@JessicaLimがお手伝いします! – nhouser9

関連する問題