我目前正试图通过链表搜索并更新给定字符串名称的某个节点中的数据。我不明白我哪里做错了。当我运行程序时,我没有收到任何错误,但我"更新"的数据永远不会改变。我的updateGpa方法在我的linkedlist类
public void updateGpa(String name, double gpa){
Node<Student> temp = head;
double foundData;
boolean exists = false;
for(int i = 0; (i < size) && !exists; i++){
if(temp.data.getName().equals(name)){
foundData =gpa;
temp.data.setGpa(foundData);
exists = true;
}
temp = getNode(i);
}
}
我调用updateGpa方法的主方法
System.out.println("Update a students GPA by entering their name: ");
student = in2.next();
System.out.println("Enter " + student + "'s new GPA: ");
gpa = in1.nextDouble();
studentList.updateGpa(student, gpa);
break;
学生列表是我的链表。
我已经解决了我自己的问题,不幸的是,我不得不把它归咎于用户错误在我的主要方法我有student = in2。下一个应该在2号的地方。它只读取名字而不是名字和姓氏,所以当它在updateGpa方法中比较字符串时,它永远不会找到匹配,因为字符串并不完全相等。很抱歉浪费你的时间,谢谢你的输入