目前我正在編寫一個程序,它必須在for循環中迭代和arraylist,看起來像這樣。迭代的Java問題
List<Integer> currentLevel = new ArrayList<Integer>();
List<Integer> nextLevel = new ArrayList<Integer>();
Iterator<Integer> it = currentLevel.iterator();
currentLevel.add(1);
for(x=0;x<20;x++){
while(it.hasNext()){
int element = it.next();
nextLevel.add(element*2);
if(element%6 == 4){
nextLevel.add((element-1)/3);
}
}
currentLevel.clear();
currentLevel.addAll(nextLevel);
nextLevel.clear();
}
有了這段代碼,它接縫,它只能通過while循環一次。這是因爲在第一次循環之後,它只向nextLevel數組中添加一個數字,而currentLevel數組的索引量與之前一樣?還是我要離開的東西?如果我嘗試while循環後更多的元素添加到nextLevel陣列它給了我一個錯誤在
int element = it.next();
什麼是「數字」? – 2012-02-11 00:06:03
你想讓這段代碼做什麼?不知道你在做什麼,不可能知道代碼應該是什麼樣子。 – ams 2012-02-11 00:07:38
我想爲數學項目做一個反向Collatz網絡,如果你想看看這裏的一些代碼http://stackoverflow.com/questions/9186198/java-reverse-collatz-web#comment11558888_9186198 – coopf 2012-02-11 01:05:27