LearnNETandJava:
いくつかのいずれかが理解されるであろうと、以下の私のコードで何が間違っ見るためにダブルチェックをしてくださいでした。私は多くの時間と異なる方法を試してみましたが、それでも私が予想していなかった結果を与えます。
下の地図値を返す方法があります
私はそれがうまく動作します、パスの値== 0で、1が呼ばれました。
- >結果は罰金、最初のキー= 0と値が正しく、すべての正しい動作します。
私は価値のパス= 1と呼ばれる第二製
- >結果は間違って、私はそれが= 12であるべきである期待最初のキー== 16
public Map<Integer, String[]> noteNumberNoteNameMap;
public Map<Integer, String[]> getNoteNumberNoteNameMap(int octave ) {
noteNumberNoteNameMap = new HashMap<>();
noteNumberNoteNameMap.put(12*octave+0, new String[] { "C" });
noteNumberNoteNameMap.put(12*octave+1, new String[] { "C#", "Db" });
noteNumberNoteNameMap.put(12*octave+2, new String[] { "D" });
noteNumberNoteNameMap.put(12*octave+3, new String[] { "D#", "Eb" });
noteNumberNoteNameMap.put(12*octave+4, new String[] { "E" });
noteNumberNoteNameMap.put(12*octave+5, new String[] { "F" });
noteNumberNoteNameMap.put(12*octave+6, new String[] { "F#", "Gb" });
noteNumberNoteNameMap.put(12*octave+7, new String[] { "G" });
noteNumberNoteNameMap.put(12*octave+8, new String[] { "G#", "Ab" });
noteNumberNoteNameMap.put(12*octave+9, new String[] { "A" });
noteNumberNoteNameMap.put(12*octave+10, new String[] { "A#", "Bb" });
noteNumberNoteNameMap.put(12*octave+11, new String[] { "B" });
return noteNumberNoteNameMap;
}
お知らせ下さい。前もって感謝します。
回:
HashMapのは、挿入順序に従っていません。あなたは注文が挿入順序、使用として追跡されるようにする場合のLinkedHashMap