Учитывая следующее:Повторная инициализация итератора ArrayList не работает
// get the list of the players , in order to start the game
ArrayList<String> players = this.m_maze.getPlayers();
// human side
String humanPlayer = iterator.next();
String computerPlayer = null;
// define iterator for the players
Iterator<String> iterator = players.iterator();
boolean humanSide = true ,computerSide = false; // assume the human player is starting the game
// controller - start a game between the players , at least two players are playing
while (this.m_rounds > 0)
{
if (humanSide == false && computerSide == true) // then this is the turn of the human side
{
if (iterator.hasNext() == false)
{
// reinitialize the iterator
Iterator<String> iterator = players.iterator();
}
while (iterator.hasNext())
// more code
Я пытаюсь повторно использовать итератор, но я получаю ошибку компиляции «Дубликат локальной переменной итератора». Как я могу повторно использовать этот итератор? Спасибо, Рон
EDIT:
if (iterator.hasNext() == false)
{
// reinitialize the iterator
iterator = players.iterator();
}
while (iterator.hasNext())
{
computerPlayer = iterator.next();
// computer decides what would be his next move , between 1 - 3
Похоже, что вы действительно хотите, чтобы он циклически повторялся. Рассматривали ли вы фактическое использование циклической структуры данных? –
Это очень хорошая идея, я буду учитывать это, спасибо! – ron