# Java Program to sort the elements of an array in descending order

In this program, we need to sort the given array in descending order such that elements will be arranged from largest to smallest. This can be achieved through two loops. The outer loop will select an element, and inner loop allows us to compare selected element with rest of the elements.

Elements will be sorted in such a way that largest element will appear on extreme left which in this case is 8. The smallest element will appear on extreme right which in this case is 1.

### Algorithm

• STEP 1: START
• STEP 2: INITIALIZE arr[] ={5, 2, 8, 7, 1 }.
• STEP 3: SET temp =0
• STEP 4: PRINT “Elements of Original Array”
• STEP 5: REPEAT STEP 6 UNTIL i<arr.length
//for(i=0; i<arr.length; i++)
• STEP 6: PRINT arr[i]
• STEP 7: REPEAT STEP 8 to STEP 9 UNTIL i<arr.length
//for(i=0; i<arr.length; i++ )
• STEP 8: REPEAT STEP 9 UNTIL j<arr.length
//for(j=i+1;j<arr.length;j++)
• STEP 9: if(arr[i]<arr[j]) then
temp = arr[i]
arr[i]=arr[j]
arr[j]=temp
• STEP 10: PRINT new line
• STEP 11: PRINT “Elements of array sorted in descending order”
• STEP 12: REPEAT STEP 13 UNTIL i<arr.length
//for(i=0;i<arr.length;i++)
• STEP 13: PRINT arr[i]
• STEP 14: END

### Program:

1. public class SortDsc {
2.     public static void main(String[] args) {
3.         //Initialize array
4.         int [] arr = new int [] {5, 2, 8, 7, 1};
5.         int temp = 0;
6.
7.         //Displaying elements of original array
8.         System.out.println(“Elements of original array: “);
9.         for (int i = 0; i < arr.length; i++) {
10.             System.out.print(arr[i] + ” “);
11.         }
12.
13.         //Sort the array in descending order
14.         for (int i = 0; i < arr.length; i++) {
15.             for (int j = i+1; j < arr.length; j++) {
16.                if(arr[i] < arr[j]) {
17.                    temp = arr[i];
18.                    arr[i] = arr[j];
19.                    arr[j] = temp;
20.                }
21.             }
22.         }
23.
24.         System.out.println();
25.
26.         //Displaying elements of array after sorting
27.         System.out.println(“Elements of array sorted in descending order: “);
28.         for (int i = 0; i < arr.length; i++) {
29.             System.out.print(arr[i] + ” “);
30.         }
31.     }
32. }

Output:

```Elements of original array:
5 2 8 7 1
Elements of array sorted in descending order:
8 7 5 2 1    ```