java - 制作一个 SIZE = 10 个员工对象的数组

标签 java

<分区>

有没有人可以在正确的方向上指导我如何创建这些员工的数组?数组设置为常量SIZE=10;这是我的员工类和带有我尝试过的数组的驱动程序。此外,我知道大部分输出将是空白的(员工姓名、身份证等),因为我已经知道如何编写,但到目前为止还没有。类名“Employee 1”中的“1”也只是因为我已经在员工下保存了另一个文件。您很可能会说这是 Java 的新手。谢谢

   class Employee1{

  //variables
 private  String name;
 private double grossPay;

   // This is the constructor of the class Employee
   public Employee1(String EmpName)
   {
      name = EmpName;
   }
    //calculates gross pay and returns 
    public double weeklyPay(double hoursWorked, double hourlyRate)
    { 

     double timeAndHalf = (hourlyRate/2.0)+hourlyRate;
     double dblOvtHours;
     double dblOvtPay;
     double regHours;
     double ovtHours;

    if (hoursWorked <= 40) 
        {
        grossPay = hoursWorked*hourlyRate;
        }

        else if (hoursWorked > 40 && hoursWorked <= 60)
        {
        ovtHours = hoursWorked-40; 
        regHours = 40;
        grossPay = (ovtHours*timeAndHalf) + (regHours*hourlyRate);
        }

        else if (hoursWorked > 60)
        {
         ovtHours = 20; 
         regHours = 40;
         dblOvtHours = hoursWorked - 60;
         dblOvtPay = hourlyRate * 2;
         grossPay = (dblOvtPay*dblOvtHours) + (timeAndHalf * ovtHours) 
     +(regHours * hourlyRate);
        }

           return grossPay; 
   }/////////////////////////////////////////////////



   /* Print the Employee details */
   public String toString()
   {
       return "Employee Report\n" + "Name :" + "\nID number :" 
+ "\nHours Worked" + "\nHourly Rate : " +"\nGross pay: " + grossPay ;
   }
 }

我的驱动类:

import java.util.Scanner;
public class EmployeeDriver{

public static void main(String args[]){

   // Invoking methods for each object created
  final double hourlyRatef = 10.25;
  double hoursWorkedf, wPay; 
  double grossPayf = 0.0;

  Scanner input = new Scanner(System.in);

  System.out.print("Please enter the number of hours work: ");

  hoursWorkedf = input.nextDouble();


 //array that does not work //

  Employee1 emp = new Employee1();
  emp[0] = new Employee (); 

  /* invoke weeklyPay() method */
  grossPayf=  emp.weeklyPay(hoursWorkedf,hourlyRatef);

  // invoke printEmployee() method
  System.out.println (emp.toString());

  }
}

最佳答案

您所做的是创建单个对象,而不是数组。一个数组看起来像这样:

final int SIZE = 10;
Employee1[] emp = new Employee1[SIZE];

然后数组的每个成员都必须像这样实例化:

emp[0] = new Employee1();

关于java - 制作一个 SIZE = 10 个员工对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250625/

相关文章:

java - 我应该从哪里获得 tomcat7-maven-plugin 的 context.xml

java - Android 构造函数未定义

java - 由于 AccessibilityNodeInfo getChild 而导致大量 ANR

java - 使用 Struts 和 Convention 插件的不区分大小写的 URL

java - 在 Java 中以编程方式检查 Kafka 主题是否存在

java - 如何在项目编译之前将projectS的源代码复制到项目中?

java - Spring:在 ID 中使用 namespace 的 bean 与 SPeL 冲突

java - 将数据从android添加到mysql数据库时出现NullPointer异常

java - 像 PHP 中的文件写入/读取功能

java - 在 Stream 中使用 AtomicInteger 进行索引是一种合法的方式吗?