我想按降序對數組進行排序,我知道有很多在線排序數組的例子,但我只是想嘗試以我自己的方式來做(只是嘗試以測試算法是否可以實際工作)。但由於某些原因,我無法輸出結果存儲數組,我嘗試使用System.out.println(Arrays.toString(myList));並且一次打印它們,它適用於我創建的一個數組,但是當嘗試通過循環修改數組時,它拒絕輸出任何內容,沒有錯誤,沒有任何內容,就好像沒有任何內容。您的幫助將不勝感激。看下面的代碼。謝謝。JAVA:按降序排列數組
import java.util.Arrays;
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 9.2, 3.4, 4.2, 6.7, 3.5};
double[] sortedList = new double[7] ;
// Print all the array elements
for (double i: myList) {
System.out.println(i + " ");
}
// Summing all elements
double total = 0;
for (double x: myList) {
total += x;
}
System.out.println("Total is " + total);
// Finding the largest element
double max = myList[0];
int m, z = 0;
for (double k: myList) {
if (k > max) max = k;
}
do{
for (int i = m; i < myList.length; i++) {
if (myList[i] > max){
max = myList[i];
z = i;
}
}
sortedList[m] = max;
myList[z] =0;
m++;
} while(m < myList.length);
System.out.println("Max is " + max);
//System.out.println(Arrays.toString(myList));
for (double y: sortedList) {
System.out.println(y + " ");
}
}
}
看來,你從來沒有分配任何東西到'sortedList',除了可能的第一個元素。 –
@TimBiegeleisen實際上他似乎這麼做,但由於意圖不佳,很難發現。我會修復:) – Thomas
@Thomas感謝您的編輯:-) –