編寫一個消除數字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 –