java - 在 Java 中使用 ArrayList 内部的变量

标签 java file-io

所以我的 Employee 类中有这段代码:

     public static double HoursWorked;
     public static double HourlyWage;  

    public static double AnnualGrossSalary = HoursWorked*HourlyWage*52;

    public double getAnnualGrossSalary(){       
        return AnnualGrossSalary;
    }

现在我已将它们设置为静态,因为我在其他类中使用 AnnualGrossSalary,并且出于某种原因,他们要求我将其设置为静态,不会与编译器争论(Java 新手!)

基本上在我的主课中我有:

report.println(ArrEmployee.get(0).getAnnualGrossSalary());

这个年薪总额应该打印在文件中。我的数组列表 ArrEmployee 包含 Employee 对象,其中包含变量 HoursWorkedHourlyWage

现在我遇到的问题是在报告中,当 HourlyWageHoursWorked 都 > 0 时,我只得到 0.0...我似乎找不到这里的问题,有人可以帮忙吗?

最佳答案

每个员工不应该有自己的工资吗?看起来它们不应该是静态的。

类似于:

private double hoursWorked, hourlyWage;

public double getAnnualGrossSalary(){
  return hoursWorked * hourlyWage * 52;
}

如果您还需要访问这些变量,您应该使用 setter 和 getter 来保留封装。

public void setHoursWorked(double hours){
  this.hoursWorked = hours;
}

public double getHoursWorked(){
  return this.hoursWorked;
}

然后您可以在 ArrayList 中使用它们,如下所示:

Employee emp = new Employee();
emp.setHourlyWage(12.5);
emp.setHoursWorked(100);

List<Employee> employees = new ArrayList<Employee>();
employees.add(emp);

for(Employee e : employees){
  System.out.println(e.getAnnualGrossSalary());
}

关于java - 在 Java 中使用 ArrayList 内部的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29136995/

相关文章:

java - env->FindClass 函数返回 null

python - 如何在 python 中重新加载文件?

asp.net - 在 ASP.NET MVC 中访问服务器上的文件

java - 用java处理语音

java - 如何在 Talend Open Studio 上设置类路径

javascript - 文件读取器 API : how to read files synchronously

c++ - 从文件中获取信息而不遍历其内容

c++ - CreateFile 和长设备名

java - 在 shell 脚本中获取启动 Java HTTP 服务器的状态

java - DataSource的getConnection()忽略端口