public class Show {
public static ArrayList Ara = new ArrayList();
public static Iterator snake;
public static void kai(){
Ara.add(1);
Ara.add(2);
Ara.add(5);
Ara.add(7);
Ara.add(10);
Ara.add(13);
snake = Ara.iterator();
while(snake.hasNext()){
System.out.println(snake.next());
if(snake.next()==7)break;
}
}
public static void main(String[] args){
kai();
}
}
执行时,将连续打印1、5、10。我该如何解释?我预计会打印出1、2、5。
最佳答案
您应该像下面这样更改代码:
public static void kai(){
Ara.add(1);
Ara.add(2);
Ara.add(5);
Ara.add(7);
Ara.add(10);
Ara.add(13);
snake = Ara.iterator();
while(snake.hasNext()){
int value = (int) snake.next();
System.out.println(value );
if(value ==7)break;
}
}
这样,您只需要在while循环内调用
iterator.next()
一次。