2012-04-12 9 views
0

質問は、ユーザーに何人の従業員を入力するかを尋ねるプログラムを作成することです。次に、従業員ごとに名前、時間賃金、労働時間が入力されます。従業員給与、残業手当および総給与の結果が計算されます。payroll:複数の配列値を追加する

私のジレンマは、すべての支払いの合計を見つける方法です。すべての従業員の給与、全従業員の残業代、および全従業員の総給与

ex。ユーザ入力:2人の従業員(2つの配列を作成する) 2つの入力(名前、レート、労働時間)が入力されます
2つの結果(有料、残業手当、総額)が計算されます あなたは、両方の従業員の給与と総支払額

これは思い付くIVEコードですが、それは仕事

インポートjava.util.Scannerを必要とします。

public class paycheck { 
    public static void main(String[] args) 
    { 

     Scanner input= new Scanner(System.in); 
     System.out.print("Enter number of Employees: "); 
     int numberOfEmp= input.nextInt(); 

     int[] arrayList= new int[numberOfEmp]; 
     for (int i = 0; i < arrayList.length; i++){ 

     System.out.print("Enter Employee Name: "); 
     String empName= input.next(); 

     System.out.print("Enter hourly rate: "); 
     int rate= input.nextInt(); 

     System.out.print("Enter hours worked: "); 
     int hours=input.nextInt(); 

     if (hours >=40) 
    { 
     double regPay= hours * rate; 
     double otPay = (hours-40) *(rate*1.5); 
     double totalPay= regPay + otPay; 
     System.out.print("\nEmployee name: " + empName+"\n Regular pay: " + regPay +"\n Overtime pay: " + otPay+ "\n Total pay: " + totalPay+ "\n"+ "\n"); 
    } 

     else 
    { 
     double regPay= hours * rate; 
     double otPay =0; 
     double totalPay= regPay + otPay; 
     System.out.print("\nEmployee name: " + empName+ "\n Regular pay: " + regPay +"\n Overtime pay: " + otPay+ "\n Total pay: " + totalPay+ "\n"+ "\n"); 
    } 

    } 
    } 
} 

答えて

0

なぜ、あなたは3つの異なる変数、たとえばallsalary、allovertime、allpayを保持せず、新しい従業員が入力されるたびに追加を続けますか?

0
  1. 追跡する値を保持する従業員オブジェクトを作成します。
  2. 従業員のArrayListを作成します。
  3. ユーザーが従業員の情報を入力できるようにするwhileループを作成し、続行または停止するかどうかをユーザーに確認します。ループを終了してデータを印刷しないようにしたい場合。

従業員オブジェクトを作成する場合、追跡するtotal_pay、total_ot_pay、およびその他の「合計」を追跡するための静的変数をいくつか指定できます。

関連する問題