从数组列表中删除元素并在java中更新选项卡大小

spe*_*ial 1 java arrays

我有这个简单的程序,我需要element从数组列表中删除并更新循环中的大小.

dist fin并且tab2arrays 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--;
}
Run Code Online (Sandbox Code Playgroud)

这只给我一次迭代,然后停止.

Era*_*ran 5

如果希望内循环执行多次,则必须重置count为0:

while (k > 0) {
    count = 0;
    temp = Integer.MAX_VALUE;
    while(count < dist.size()){
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果不将count重置为0,则内部循环将不会执行多次,因为count < dist.size()在第一次迭代后将为false.

编辑:

看起来temp可能还必须在内循环的每次迭代之前重置.