0

イテレータによって参照されている ArrayList からオブジェクトを削除しようとしているので、オブジェクトを削除できます。しかし、問題は、それが機能しないということです。

キーボードの次の実行中に特定のキー「この場合、DOWN」が押されると、「ボール」Arraylist で作成された最新のオブジェクトを削除する必要があります。

これでLWJGLとOpenGLを使用しています。

while(Keyboard.next()) {
if(Keyboard.isKeyDown(Keyboard.KEY_DOWN)) {
    Iterator<ball> theBall = balls.iterator();
    while (theBall.hasNext()) {
        theBall.remove();       
    }
}
}
4

2 に答える 2

1

theBall.next();次の項目に進むには、電話する必要があることを忘れないでください。あなたのコードではそれがわかりません。

于 2013-02-16T19:20:51.353 に答える
0

反復ごとに next() を呼び出す必要があるため、反復する方法は正しくありません。とにかく、リストの最後の要素を削除したい場合は、ループしないでください。代わりに、そのすべてのコードを次のように置き換える必要があります。

balls.remove(balls.size() - 1);
于 2013-02-16T19:21:28.790 に答える