编写一个消除数字0的所有事件的方法。我写的方法工作,除非在一行中有两个零,我在做什么错误,例如0,7,2,0,0 ,虽然方法输出7,2,0,4运行后,4,0?编写一个名为removeZeros的方法
import java.util.*;
public class RemoveZeros {
public static void main(String[] args) {
Integer[] nums = {0, 7, 2, 0, 0, 4, 0};
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(nums));
removeZeros(list);
System.out.println(list);
}
public static void removeZeros(ArrayList<Integer> list) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i) == 0) {
list.remove(i);
}
}
}
}
你必须手动减少你的'我'。 – Kaushal28
尝试而不是你的for循环:'int i = list.size() - 1; (i> = 0){... i - ;}' – Blobonat
用手在纸上做:尝试1,0,0,2 –