gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:45:50 26 4
gpt4 key购买 nike

所以我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com