我一直對代碼進行排序在數組列表整數一個整數數組,但我的代碼只返回只有2號任何人可以幫助我理解我在做什麼錯在這裏。我如何獲得所有要顯示的數字?我的陣列中的數字需要幫助的分揀通過代碼
- ArrayList testNumbers = new ArrayList();
- testNumbers.add(48);
- testNumbers.add(3);
- testNumbers.add(23);
- testNumbers.add(99);
[48,3,23,99]。任何幫助將不勝感激。
public ArrayList<Integer> listSort(ArrayList<Integer> numbers) {
// create variable to store max number
int maxNumber = 0;
// creates an array that will store the sorted numbers
ArrayList<Integer> sortedIntArray = new ArrayList<Integer>();
// loops through each number in the numbers arraylist
for (int i = 0; i < numbers.size(); i++) {
if (numbers.get(i) > maxNumber) {
// set the number to the new max number
maxNumber = numbers.get(i);
// add current max number to sorted array
sortedIntArray.add(maxNumber);
// remove the max number from numbers array
numbers.remove(numbers.get(i));
}
}
return sortedIntArray;
}
//所述sortedIntArray返回 [48,99]
您刪除的元素,但看看會發生什麼變化指數,特別是'i'。抓住紙和筆,並繪製出來並追蹤發生了什麼。 – JonH
我假設這是Java和C#標記是錯誤的。 ArrayList是Java,而不是C#,它使用列表。 –
這是一個學校作業嗎?否則,我會使用內置的排序() –