java - 我将如何创建一个将数组添加到数组列表并在其上调用方法的主要方法?
问题描述
我有这个类,它旨在double
从数组中获取类型的值,ArrayList
并以定义的速率增加它们:
import java.util.ArrayList;
public class Company {
static ArrayList<Employee> employees;
public Company() {
Company.employees = new ArrayList<Employee>();
}
public static ArrayList<Employee> getEmployees() {
return employees;
}
public static void setEmployees(ArrayList<Employee> employees) {
Company.employees = employees;
}
public void increaseSalaries(double rate) {
if (rate <= 0.0) {
throw new IllegalArgumentException();
} else {
for (int i = 0 ; i < employees.size() ; i++) {
employees.get(i).increaseSalaries(rate);
}
}
}
}
我想编写一个构建数组列表并在其上调用该方法的主要方法,但我不确定如何。到目前为止我有
public static void main(String[] args) {
Company businesstown;
HourlyEmployee george;
MonthlyEmployee ambrose;
george = new HourlyEmployee("George", "McClellan", "1537", 1.04);
ambrose = new MonthlyEmployee("Ambrose", "Burnside", "1536", 741.0);
}
但我不确定如何将这些数组添加到ArrayList
businesstown。我已经尝试了很多组合,.add(george);
但我无法做到正确。要么它说
没有为类型 Company 定义方法 add(HourlyEmployee)
或者它编译并抛出一个NullPointerException
.
(我应该补充一下,两者HourlyEmployee
都是MonthlyEmployee
扩展的类Employee
)
解决方案
在我看来,最好将 ArrayList 设为类的私有成员,并使用 add 方法来添加员工
public class Company {
private ArrayList<Employee> employees;
public Company() {
employees = new ArrayList<Employee>();
}
public void addEmployee(Employee e) {
employees.add(e);
}
//rest of code
}
主要是
public static void main(String[] args) {
Company businesstown = new Company();
HourlyEmployee george = new HourlyEmployee("George", "McClellan", "1537", 1.04);
MonthlyEmployee ambrose = new MonthlyEmployee("Ambrose", "Burnside", "1536", 741.0);
businesstown.add(george);
businesstown.add(ambrose);
}
推荐阅读
- python - 索引numpy矩阵
- excel - 用户窗体最小化时取消滚动
- swift - Swift:尝试访问数组中对象的值时出现错误
- cookies - 如何在 AspNet Core 中列出带有更改的 cookie
- nexus - 配置 helm 连接到 nexus
- swisscomdev - 在 Swisscom Application Cloud 上自动创建、恢复和下载 MongoDB 备份
- http - JMeter:我如何对随机 2 个浮点数求和
- laravel - npm 的新手 get SyntaxError: Unexpected token
- ios - Xcode 10 上的 iOS 模拟器崩溃
- php - WordPress CSRF 漏洞利用草案状态