2016-10-03 7 views
-2

現在、リンクリストを検索し、特定のノードのデータをString名で更新しようとしています。私はどこが間違っているのか理解していません。プログラムを実行するとエラーは発生しませんが、 "更新する"データは決して変更されません。私のLinkedListクラスの マイupdateGpa方法Stringを渡すことによって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); 

    } 
} 

私は

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; 

学生のリストは、私のリンクリストですupdateGpaメソッドを呼び出して私の主な方法。

+0

'updateGpa()'が何かをしたと思ったらデバッグしましたか? – John3136

+0

デバッグ時に正常に送信されたと伝えられます – Chris

+0

'in2'とは何ですか? 'java.util.Random'オブジェクトですか?はいの場合、整数値で作られたランダムな名前の学生がリストに含まれていることを確認しますか? – AKSW

答えて

0

私は自分の問題を解決しましたが、残念ながら私の主な方法で私はそれをチョークする必要があります。私はstudent = in2.nextを持っています。それはin2.nextLineだったはずです。最初と最後の名前だから、updateGpaメソッドの文字列を比較していたときに、文字列が完全に一致しなかったため一致する文字列が見つからない。あなたの時間を無駄にして申し訳ありませんが、あなたの入力に感謝します

関連する問題