2017-05-04 12 views
0

ユーザーがハッシュマップの更新を決定したときに、コードが正しく更新されないという問題が発生しています。私のコードの更新セクションでは、この新しい入力でハッシュマップが更新されない

if(comboBoxSelection == "Update"){ 

     String gradeValue= (String) JOptionPane.showInputDialog(null, "Choose Grades: ", "", JOptionPane.INFORMATION_MESSAGE, null, grades, ""); 
     String creditAmount= (String) JOptionPane.showInputDialog(null, "Choose Credit: ", "", JOptionPane.INFORMATION_MESSAGE, null, credits, ""); 

     studentObj.courseCompleted(gradeValue.charAt(0), Integer.parseInt(creditAmount)); 

     studentDatabase.put(iD, studentObj); 


    }//end update combobox selection 

およびそれらの変更を受け入れる方法であり、私はより多くのコードを投稿する必要がある場合

public void courseCompleted(char courseGrade, int creditHours){ 

    if (courseGrade == 'A'){ 
     totalCredit = 4; 
     totalQuailtyPoints = (totalCredit * creditHours); 
    }//end course grade A 

    if(courseGrade == 'B'){ 
     totalCredit = 3; 
     totalQuailtyPoints = (totalCredit * creditHours); 

    }//end course grade B 

    if(courseGrade == 'C'){ 
     totalCredit = 2; 
     totalQuailtyPoints = (totalCredit * creditHours); 

    }//end course grade C 

    if(courseGrade == 'D'){ 
     totalCredit = 1; 
     totalQuailtyPoints = (totalCredit * creditHours); 

    }//end course grade D 

    if(courseGrade == 'F'){ 
     totalCredit = 0; 
     totalQuailtyPoints = (totalCredit * creditHours); 

    }//end course grade F 


}//end courseCompleted method 

である私は技術的に

答えて

0

あなたのHashMapを教えてください更新する必要があります。 JOptionPaneから取得したgradeValueがいずれのケースとも一致しない可能性があります。あるいは、そのコードブロックは決して実行されません。 printlnステートメントを挿入して上記のものを確認してください。

if(comboBoxSelection == "Update") 

これは文字列を比較する方法ではありません。

equals()メソッドを使用します。このため、更新ブロックが呼び出されないことさえあります。

if(comboBoxSelection.equals("Update"))

0

私はそれを考え出したと思います。何らかの理由でこのコードを追加すると、探している情報が表示され、ハッシュマップを更新できるようになります。新しいコードは

if(comboBoxSelection.equals("Update")){ 

     if(studentDatabase.containsKey(iD)){ 

     studentObj = studentDatabase.get(iD); 
     String gradeValue= (String) JOptionPane.showInputDialog(null, "Choose Grades: ", "", JOptionPane.INFORMATION_MESSAGE, null, grades, ""); 
     String creditAmount= (String) JOptionPane.showInputDialog(null, "Choose Credit: ", "", JOptionPane.INFORMATION_MESSAGE, null, credits, ""); 

     studentObj.courseCompleted(gradeValue.charAt(0), Integer.parseInt(creditAmount)); 

     studentDatabase.put(iD, studentObj); 


     }//end makes sure key exists 

     else{ 
      JOptionPane.showMessageDialog(null, "Student does not exist"); 
     }//end else 

    }//end update combobox selectio 
です
関連する問題