所以我創建了一個簡單的程序,要求用戶輸入5個類型,然後從10中得分。我沒有添加任何驗證,但我並不擔心這一點。如您所見,我有兩個陣列:genres[]
和score[]
。比方說,他們進入:Java:如何以降序排列數組?
[1] : Genre A | 3
[2] : Genre B | 6
[3] : Genre C | 2
[4] : Genre D | 10
[5] : Genre E | 8
結果應列出流派d,E,B,A,C
這裏是我的整個代碼:
import java.util.Scanner;
class OrigClass {
public static void main (String[] args){
Scanner ScanObj = new Scanner(System.in);
int count;
String[] genres;
genres = new String[5];
int[] score;
score = new int[5];
for (count = 0; count < 5;count++){
System.out.println("Enter A Genre: ");
genres[count] = ScanObj.nextLine();
System.out.println("How much do you like it? ");
score[count] = ScanObj.nextInt();
ScanObj.nextLine();
}
for (count = 0; count < 5; count++){
System.out.println(count+1 + ") " + genres[count] + " " + score[count] + "/10");
}
ScanObj.close();
}
}
有一個聰明的方法做它在Java中使用一些函數,或者我將不得不通過使用臨時varibales,if語句等手動執行它。我想我也可以使用氣泡排序算法,這將很容易實現。所以我想把score[]
的內容按降序排列。任何提示將不勝感激。
爲什麼數組而不是'Map'?有了Map,它會更容易;將'Set>'放入'List'並使用'Collections.sort()'與自定義的「比較器」一起使用。 –
fge