我有这个简单的程序,我需要从数组列表中删除element
并更新循环中的大小。
dist
fin
和tab2
是arrays lists
int k=2;
int count =0;
int temp,num;//lets say this 2 vars are known and positive
while (k > 0){
while(count < dist.size()){
double num=dist.get(count);
if (temp>num){
temp = num;
}
count++;
}
int e = dist.indexOf(temp);
fin.add(tab2.get(e));
dist.remove(e);
System.out.print(fin);
System.out.print(dist);
System.out.print(dist.size());
k--;
}
这只给我一次迭代,然后停止。
答案 0 :(得分:5)
如果您希望多次执行内循环,则必须将count
重置为0:
while (k > 0) {
count = 0;
temp = Integer.MAX_VALUE;
while(count < dist.size()){
...
}
...
}
如果不将count重置为0,则内循环不会被执行多次,因为count < dist.size()
在第一次迭代后将为false。
编辑:
在内循环的每次迭代之前,似乎还需要重置temp
。