p 1 p 2 p 3 p 4 p这里p的位置就相当于iter的开始位置,你用hasnext();方法循环,用next()方法跳过去的返回的它跳过去的那个数值
完整的程序是。 //决定玩家坐次方位 for (Iterator iter = room.getAllPlayers().iterator(); iter.hasNext();) { String playerName = (String) iter.next(); Player player = new Player(playerName); //随机决定顺序 for ( ; ; ) { int i = rand.nextInt(4); if (playerSequence[i] == null) { playerSequence[i] = player; System.out.println(playerSequence[i].getPlayerName() + "is the " + " player ") ; break; } } } room里面肯定有4个人了
for (Iterator iter = room.getAllPlayers().iterator(); iter.hasNext();)
{ String playerName = (String) iter.next();
Player player = new Player(playerName);
//...
}这段代码应该能够正常工作的,不过是将常见的while-break,改写为了for语句而已.第一次调用Iterator.next方法访问的是第一个元素.
if(it.hasNext()){
String[] row= (String[])it.next();
}
Iterator it=...;
if(it.hasNext()){
String[] row= (String[])it.next();
}
就是访问第一个,next说的是下一次访问下一个。
可以的话程序贴一下,看看,感觉没有问题呀!
//决定玩家坐次方位
for (Iterator iter = room.getAllPlayers().iterator(); iter.hasNext();)
{ String playerName = (String) iter.next();
Player player = new Player(playerName); //随机决定顺序
for ( ; ; )
{
int i = rand.nextInt(4);
if (playerSequence[i] == null)
{
playerSequence[i] = player;
System.out.println(playerSequence[i].getPlayerName() + "is the " + " player ") ;
break;
}
}
} room里面肯定有4个人了
if(it.hasNext()){
String[] row= (String[])it.next();
}应该没问题的啊