同时,在 main 方法中调用 getIndex 方法时,因为判断是否相等时使用了 == 而不是 equals 方法,因此您应该调用 getIndex 方法时传入的参数应该是 int 类型的 4,而不是字符串类型的 "4"。因为 id 在 Student 类中定义是一个 int 类型,不是字符串类型。
综上所述,您可以按照以下方法进行修改:
javapublic static int getIndex(Student[] arr, int id) {
for (int i = 0; i < arr.length; i++) {
Student s = arr[i];
if (s != null) {
int sid = s.getId();
if (sid == id) {
return i;
}
}
}
return -1;
}
java// 要求3:通过id删除学生信息,如果存在,则删除,如果不存在,则提示删除失败。
// 找到id在数组中对应的索引
int index = getIndex(arr, 4);
if (index != -1) {
for (int i = index; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
arr[arr.length - 1] = null;
//要求4:删除完毕之后,遍历所有学生信息。
printArr(arr);
} else {
System.out.println("该学生不存在,无法删除");
}
|