0

私は Android 開発に不慣れで、問題を解決する方法を見つけるためのヒントが必要です。

私は を持っておりHashMap、これには としての周波数と としてkeysの振幅が含まれていvaluesます。

private Map<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
hashMap.put(20, 32767);
hashMap.put(32, 32767);
hashMap.put(64, 32767);
hashMap.put(125, 6000); 

システムがこのハッシュマップを繰り返し、周波数と振幅に基づいてトーンを生成するたびに、このトーンが聞こえたかどうかをユーザーに尋ねます。はいの場合は、ハッシュマップの次のエントリに移動し、いいえの場合は、振幅をインクリメントし、インクリメントされた振幅でトーンを再度生成し、ユーザーに同じ質問を再度尋ねます。

ハッシュ マップのエントリを反復する for ループを作成し、これも使用Iteratorしましたが、問題は、最初の反復からすべてのアラートが表示されることです。

誰でも助けることができますか?

編集:

これは反復コードです:

for (Map.Entry<Integer,Integer> entry : hashMap.entrySet()) {
    freqOfTone = entry.getKey();
    amplitude = entry.getValue();
    startCalibration();
}
4

1 に答える 1

0

おそらく、あなたはこのようなものを使いたいですか?

for(int key:hashMap.keySet())
{
    int val = hashMap.get(key)-1;
    do
    {
        val++;
        //Play sound    
    }while(!didYouHereItDialog());
    hashMap.put(key,val);
}
于 2013-08-02T13:58:37.270 に答える