gpt4 book ai didi

java - 删除数组中的一个元素

转载 作者:行者123 更新时间:2023-12-01 11:32:44 25 4
gpt4 key购买 nike

在 if 语句之后不断抛出 NullPointerException,你们知道为什么吗?

public void deleteCourse() {

Scanner courseInput = new Scanner(System.in);
System.out.println("Enter coursename to delete");
String deleteInput = courseInput.nextLine();
System.out.println("check");
int pos = this.findPosition(deleteInput);
System.out.println(pos);
if (pos != -1) {

students[pos].setName(students[students.length - 1].getName());
students[pos].setGrade(students[students.length - 1].getGrade());

}

}

public int findPosition(String deleteInput) {
int i;
for (i = 0; i < students.length; i++) {

if (deleteInput.equals(students[i].getName())) {
return i;
}

}

return -1;

}

最佳答案

数组 students 中至少有一个值尚未由您设置,并且为 null。当您尝试通过 getName() 访问 null 元素时,您会收到 NullPointerException

要防止这种情况,只需跳过 null 元素即可:

public int findPosition(String deleteInput) {
if(deleteInput == null) {
return -1;
}

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

if (students[i] != null && deleteInput.equals(students[i].getName())) {
return i;
}

}
return -1;
}

关于java - 删除数组中的一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280675/

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