Итак, я создал простую программу, которая просит пользователя ввести 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 statement и т. д. Я полагаю, что я мог бы также использовать алгоритм сортировки пузырьков, который было бы довольно легко реализовать. Поэтому я хочу отсортировать содержимое score[]
в порядке убывания. Любые советы будут оценены.
Почему массивы, а не «Карта»? С помощью «Карты» это было бы проще; проглотите 'Set>' в 'List' и используйте' Collections.sort() 'с помощью специального' Comparator'. –
fge