2016-10-03 44 views
-2

我正在嘗試通過鏈接列表進行搜索並更新給定字符串名稱的某個節點中的數據。我不明白我出錯的地方。我在運行該程序時沒有收到任何錯誤,但「更新」的數據從未發生變化。 我LinkedList類我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; 

學生名單是我的鏈接列表。

+0

你調試瞭解'updateGpa()'認爲它做了什麼嗎? – John3136

+0

當我調試它說成功提交 – Chris

+0

什麼是'in2'?一個java.util.Random對象?如果是的話,你是否確保一個隨機名稱由一個整數值組成的學生在你的列表中? – AKSW

回答

0

我已經解決了我自己的問題,不幸的是我必須把它填充到我的主要方法中的用戶錯誤我有學生= in2.next它應該在in2.nextLine它只是讀取名字而不是第一個和最後一個名字,所以當它比較updateGpa方法中的字符串時,它永遠不會找到匹配,因爲字符串不完全相等。對不起,浪費你的時間,但感謝你的輸入