我的數組列表應該在每個出現最小數字之前和之後有一行星號。我已調試和所有變量都保持正確的值,但由於某種原因它不會添加值。ArrayList不添加元素
這裏是我的代碼:
int smallest = array[0];
for (int i = 0; i < size; i++)
if (array[i] < smallest)
smallest = array[i];
String smallestString = String.valueOf(smallest);
ArrayList<String> list = new ArrayList<String>();
for(int i = 0;i < size; i++)
list.add(Integer.toString(array[i]));
for (int i = 0; i < list.size(); i++)
if (smallestString.equals(list.get(i))) {
list.add(i, "*****");
list.add(i + 2, "*****");
}
System.out.println("\n" + list);
return smallest;
試着用'{''}'塊界定你的循環,這將是更小的誤差-prone。 – Berger
請注意,如果您從前到後迭代,則必須採取更大的步驟,因爲添加元素會將當前元素之後的所有內容移至右側,即如果列表爲「1,2,3」,則在*處添加「*」索引0和2將產生'*,1,*,2,3',並且下一個元素('2')現在可以在索引3處找到。 – Thomas
@Thomas這就是爲什麼我在添加第二行時添加2的星號。 –