如何检查数组是否具有与参数相同的值?

时间:2020-02-23 07:57:57

标签: java arrays

public boolean admitHonorStudent(String firstName, String lastName,
                                          int question) {
      if(numStudent<=10){
          HS[numEmployee]=new honor(firstName,lastName, question);
          numStudent++;
          return true;
      }
      /*  for(int i = 1; i<HS.length; i++) {
          if(HS[i].getFirstname().equals(firstName) && HS[i].getLastname().equals(lastName)) {
              return false;
          }
      }*/
    return false;
}

上面的方法将一个CommissionedEmployee对象存储到CE数组,我尝试使用for循环遍历该数组,并检查该数组的i位置是否与该参数相同。因此,如果雇员的名字和姓氏与数组中已经存在的名字相同,则返回false。但是for循环似乎不起作用。

2 个答案:

答案 0 :(得分:0)

如果您的员工支票匹配,那么返回true就这么简单吗?

if (CE[i].getFirstname().equals(firstName) && CE[i].getLastname().equals(lastName)) {
   return true;  // change false to true
}

此外,您的for循环索引应该从0开始,即

for (int i=0; i<CE.length; i++) { ... }

答案 1 :(得分:0)

我将首先形成一个对象,然后进行比较:

public boolean hireCommissionedEmployee(String firstName, String lastName,
                                          double commissionRate) {

          CommissionedEmployee object=new CommissionedEmployee(firstName,lastName, commissionRate);
          for(int i =0; i<CE.length; i++) {
             if(CE[i].equals(object) {
                return true;
          }
      }
    return false;
}