java 没有return语句

drnojrws  于 2023-04-04  发布在  Java
关注(0)|答案(3)|浏览(112)

我写了一个方法来打印存在于一个名为myEmployees的数组中的雇员的详细信息。这个练习说我应该返回一个整数,特别是对象employee的索引,我按照要求做了,但它说没有return语句。

private int findEmployeeByName(String empName) {
    for(Employee e: this.myEmployees) {
        if(e!=null && e.getEmpName().equals(empName))  {
            return e.getEmpName().indexOf(empName);
        }
    }
}
xmd2e60i

xmd2e60i1#

  • 这样想 *

在你的方法中,如果根本没有机会满足**if (condition)**,那么这个方法会返回什么?

  • 你的情况 *

如果你从来没有找到一个雇员与给定的名称,你想如何处理返回语句,这是由你决定的。
你可以返回-1或任何integer(记住,你不应该使用索引值)
您可以从调用方法的位置处理它。

int index = findEmployeeByName("Barbara Riga");

if (index == -1) {
  System.out.println("Employee not found!");
} else {
  System.out.println("Index of the employee: " + index);
}
iezvtpos

iezvtpos2#

试试这个,

private int findEmployeeByName(String empName) {
   for(Employee e: this.myEmployees) {
      if(e!=null && e.getEmpName().equals(empName))  {
          return e.getEmpName().indexOf(empName);
      }
   }
   return -1;
}
ssm49v7z

ssm49v7z3#

在for-Loop之后需要一个return语句,以防this.myEmployees为空,即使您肯定知道这永远不会发生。
返回-1
代码不会返回任何内容的另一个地方是,当雇员姓名不在列表中时

相关问题