我有这个简单的程序,我需要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--; }
这只给我一次迭代,然后停止.
如果希望内循环执行多次,则必须重置count
为0:
while (k > 0) { count = 0; temp = Integer.MAX_VALUE; while(count < dist.size()){ ... } ... }
如果不将count重置为0,则内部循环将不会执行多次,因为count < dist.size()
在第一次迭代后将为false.
编辑:
看起来temp
可能还必须在内循环的每次迭代之前重置.