【发布时间】:2020-11-08 06:16:42
【问题描述】:
我有一个名为 Service 的 ArrayList,它接受一个枚举 ServiceType、一个双倍价格和一个 ArrayList Employee。
我正在尝试创建一种将服务元素添加到 Service ArrayList 的方法,但我收到一条错误消息
Service 中的Service() 不能应用于预期参数实际参数 服务名称:服务类型服务名称 price double price new Employee(mechanicName) (Employee)
我尝试在 Service ArrayList 对象中为 Employee 创建 ArrayList 对象,然后将其添加到 Transactions ArrayList 中,但这不起作用。
///事务类
public class Transaction {
private ArrayList<Service> services;
public Transaction() {
this.services = new ArrayList<Service>();
}
public boolean createNewService(ServiceType serviceName, double price,
Employee mechanic, String mechanicName){
Service existingService = findService(serviceName, price, mechanic);
if(existingService == null){
this.services.add(new Service(serviceName, price, new Employee(mechanicName)));
}
return false;
}
private Service findService(ServiceType serviceName, double price,
Employee machanic){
for(int i=0; i<this.services.size(); i++){
Service chkdServise = this.services.get(i);
if(this.services.get(i).getServiceName().equals(serviceName) &&
this.services.get(i).getPrice() == price &&
this.services.get(i).getMachanics().equals(machanic)){
return chkdServise;
}
}
return null;
}
///服务类
public class Service {
private ServiceType serviceName;
private double price;
private ArrayList<Employee> machanics;
public Service(ServiceType serviceName, double price) {
this.serviceName = serviceName;
this.price = price;
this.machanics = new ArrayList<Employee>();
}
public boolean createEmployee(String name){
Employee existingEmployee = findEmployee(name);
if(existingEmployee == null){
this.machanics.add(new Employee(name));
return true;
}
return false;
}
private Employee findEmployee(String name){
for(int i=0; i<machanics.size(); i++){
Employee chkedEmployee = this.machanics.get(i);
if(this.machanics.get(i).getName().equals(name)){
return chkedEmployee;
}
}
return null;
}
///员工类
public class Employee {
private String name;
private int salary;
public Employee(String name) {
this.name = name;
this.salary = 50000;
}
public String getName() {
return name;
}
public int getSalary() {
return salary;
}
}
【问题讨论】:
-
能否显示完整的错误堆栈跟踪。 ?