そこで、ランダムなひらがな名ジェネレーターを作成しています (理由は聞かないでください)。少し問題が発生しました。ランダムな名前ジェネレーターはほとんどの場合問題なく動作しますが、何らかの理由で子音が繰り返される長い文字列を生成することがあります。したがって、通常のプログラマーのように問題に直接対処しようとする代わりに、ArrayList をスキャンして、ランダムな生成後に繰り返される文字を削除することにしました。
ArrayList<String> name = new ArrayList<String>();
Iterator <String> it = name.iterator();
... // insert random generation here
for (h = 0; h < s; h++) { // s is the length of the ArrayList
...
String curInd = name.get(h);
String nextInd = name.get(h+1);
if (curInd.equals(nextInd)) { // NOT
name.remove(h); // WORKING
s--; // :(
}
}
String previousName = "";
while (it.hasNext()) {
String currentName = it.next();
if (currentName.equals(previousName)) {
it.remove();
}
previousName = currentName;
}
これは動作しません。エラーなどは発生しません。繰り返される文字 (または、各文字を文字列にしたため、文字列の繰り返し) が削除されないだけです。何が問題なのですか?