Как вывести индексы массива в порядке убывания элементов на Java?

Здравствуйте.
Нужно вывести индексы целочисленного массива в порядке убывания соответствующих им элементов.
Написал следующий код. Не работает, потому что элементы не меняются местами. Не подскажете, как исправить?
Если вы можете предложить более элегантное решение, буду вам благодарен.

import java.io.IOException;
import java.util.Scanner;

public class Zadacha1 {

	public static void main(String[] args) throws IOException {
		
		Zadacha1 example = new Zadacha1();
		example.recieving();
		example.sorting();
	}

	Scanner scan = new Scanner(System.in);
	int[] Array = new int[7];
	
	//заполнение массива
	public void recieving(){
		
		for (int i = 0; i < Array.length; i++){
			System.out.println("Input next element: ");
			Array[i] = scan.nextInt();
		}
	}
	
	//сортировка массива и заполнение массива индексов
	public void sorting(){
		int[][] All = new int[2][Array.length];
		for (int i = 0; i < Array.length; i++){
			All[0][i] = i;
			All[1][i] = Array[i];
		}
		for (int i = 0; i < Array.length; i++){
			for (int j = i; j < Array.length; j++){
				if (All[1][j] > All[1][i]){
					swap(All[0][i], All[0][j]);
					swap(All[1][i], All[1][j]);
				}
			}
		}
		for (int i = 0; i < Array.length; i++){
			System.out.print(All[0][i] + " ");
		}
	}


	//перемена мест
	public void swap(int a, int b){
		int c = a;
		a = b;
		b = c;
	}
	
}
  • Вопрос задан
  • 1772 просмотра
Пригласить эксперта
Ответы на вопрос 1
anyd3v
@anyd3v
//перемена мест
  public void swap(int a, int b){
    int c = a;
    a = b;
    b = c;
  }


Вы понимаете что тут делается?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
01 дек. 2024, в 11:44
10000 руб./за проект
29 нояб. 2024, в 07:44
20000 руб./за проект
01 дек. 2024, в 10:13
25000 руб./за проект