gpt4 book ai didi

java - 尝试调用抛出异常的方法时,增强的 for 循环不会被执行

转载 作者:行者123 更新时间:2023-11-30 12:07:42 25 4
gpt4 key购买 nike

我有 2 个类 1.employee 管理类,它有一个员工类型的数组列表和 2.Employee 类。在检查 alreadyexists 异常后,我必须将员工添加到数组列表中。我在就业管理类(class)中的代码是。

    ArrayList<Employee> eme = new ArrayList<Employee>();
boolean addEmployee(Employee emp){

for(Employee e:eme)
{
if (e.getEmpId()==emp.getEmpId())
{
throw new AlreadyExistsException();
}
else if (e.getEmpId()!=emp.getEmpId())
{
eme.add(emp);
}
return true;
}

在我的员工类中,我有构造函数、getter 和 setter。在 main 方法中,我创建了一个员工管理类对象 em,并调用了 addEmployee 方法

    em.addEmployee(e1);

问题是因为员工管理类中​​的arraylist为空,for循环没有被执行,我无法检查员工已经存在的异常。如何解决这个问题? (这是我的练习作业)

最佳答案

你可以像下面这样一个简单的 if 条件:

public void addEmployee(Employee emp) throws Exception {
if (eme.size() == 0) { // add as list is empty
eme.add(emp);
} else {
for (Employee e : eme) { // your logic as it is
if (e.getEmpId() == emp.getEmpId()) {
throw new Exception();
} else if (e.getEmpId() != emp.getEmpId()) {
eme.add(emp);
}
}
}
}

您可以根据需要调整使this 方法返回boolean 的逻辑。这是留给你的练习!

关于java - 尝试调用抛出异常的方法时,增强的 for 循环不会被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54711080/

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