0

従業員の計算された賃金を表示する方法についても問題があります。時給を入力すると、総給与が表示されません。

これが私がこれまでにしたことです。

WageCalcu.java

  public class WageCalcu
  {
      private String employeeName;
      private int hours;
      private double rate, pay;

      public void setEmployeeName ( String name )
      {
          employeeName = name;
      }
      public String getEmployeeName()
      {
          return employeeName;
      }
      public double calculatePay( int hours, double rate )
      {
          if ( hours > 40 )
          { 
              int extraHours = hours - 40;
              pay = ( 40 * rate ) + ( extraHours * rate );
          }
          else pay = hours * rate;

          return pay;
      }
      public void displayEmployee()
      {
          System.out.printf( "Employee's name: %s", getEmployeeName() );
          System.out.printf( "\nGross Salary: ", + pay );
      }
  }

Employee.java

  import java.util.Scanner;
  public class Employee 
  {    
      public static void main(String[] args) 
      {
          Scanner input = new Scanner( System.in);
          WageCalcu employee = new WageCalcu();

          System.out.print( "Enter Employee %s name: " );
          String name = input.nextLine();
          employee.setEmployeeName( name );

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

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

          employee.calculatePay( hours, rate );
          employee.displayEmployee();

          System.out.println();

      }
  }
4

4 に答える 4

7

私はあなたが意味したと確信しています:

System.out.printf( "\ n総給与:%f"、pay);

もう一つ

double rate = input.nextInt();

する必要があります

double rate = input.nextDouble(); 

あなたが本当に実数を期待しているなら。

于 2012-06-20T07:06:42.587 に答える
0

%s を逃しましたprintf( "\nGross Salary: ", + pay );

于 2012-06-20T07:08:24.337 に答える