Java 如何在添加对象arraylist之前为其设置薪资

Java 如何在添加对象arraylist之前为其设置薪资,java,Java,我正在从文本文件中读取数据 其中包括有关员工详细信息的信息 详情如下: H、姓名、社会号码、小时数、费率 S、 姓名、社会号码、薪水 并将它们添加到两个列表中 如果他们是小时工: H.add(new Hourly(name ,number,hour,rate); 否则,如果他们有薪水: S.add(new salaried(name,number); 问题是:如何在将对象添加到列表之前添加员工的薪资? 每小时=费率*小时数 薪水=薪水 我有固定的薪水 以及设定双倍工资的变数法 在将对象添加到

我正在从文本文件中读取数据 其中包括有关员工详细信息的信息 详情如下:

H、姓名、社会号码、小时数、费率
S、 姓名、社会号码、薪水

并将它们添加到两个列表中

如果他们是小时工:

H.add(new Hourly(name ,number,hour,rate);
否则,如果他们有薪水:

S.add(new salaried(name,number);
问题是:如何在将对象添加到列表之前添加员工的薪资?
每小时=费率*小时数
薪水=薪水
我有固定的薪水 以及设定双倍工资的变数法

在将对象添加到列表后,我还设置了薪资, 但是最后一份薪水是从文本中拿出来的
如果要在将薪资添加到列表之前设置薪资,可以在之前定义新条目,更改薪资,然后添加:

Salaried s = Salaried(name,number);
s.setSalary(computedSalary);
S.add(s);
我希望这能帮助你


关于

您可以考虑构造器模式,它提供了一种灵活的构造对象的方式:

public class Salaried {
  String name;
  String socialNumber;
  Double salary; 

  ...

  public static class Builder {
    String name;
    String socialNumber;
    Double salary;

    public Builder(String name, String socialNumber) {
      this.name = name;
      this.socialNumber = socialNumber;
    }

    public Builder salary(Double salary) {
      this.salary = salary;
      return this;
    }

    public Salaried build() {
      Salaried salaried = new Salaried(name, socialNumber);
      salaried.setSalary(salary);
      return salaried;
    }
  }
}

S.add(new Salaried.Builder("bob","12345678").salary(40000).build());

你不能在对象的构造函数中计算它,或者在
add
行上方创建对象,并在添加它之前设置薪水吗?显示一些代码作为一个例子,并澄清你到底需要什么帮助。它起作用了,obj 1,2然后设置工资,因为我知道只有两名员工,如果我现在不知道有多少名受薪员工?我应该创建多少个对象?我试图上传项目的照片,但无法上传。所有相关代码都应该直接作为文本发布在这里。