вывести массив в убывающем порядке
// Есть массив который надо отсортировать array[] = { 3, 7, 8, 1, 10 }
 public static void sort(int[] array) {
        //создаю временный массив tempArr = array
        int [] tempArr = array;  /* tempArr = { 3, 7, 8, 1, 10} */
        Arrays.sort(temparr);
       //сортирую.....  tempArr = {1,3,7,8,10}
       //пытаюсь вывести в обратном порядке. С этого момента видимо мое видиние расходится с кодом
        for (int i = 0; i < tempArr.length ; i++) {
            int temp = tempArr[tempArr.length-1-i];
            array[i]=temp;
        }
Как я вижу работу цикла 1 шаг: i=0 = > temp = tempArr[4] =10 = > array[0]=10 2 шаг: i=1 = > temp = tempArr[3] = 8 = > array[1] =8 3 шаг: i=2 = > temp = tempArr[2] = 7 = > array[1] =7 4 шаг: i=3 = > temp = tempArr[1] = 3 = > array[1] =3 5 шаг: i=4 = > temp = tempArr[0] = 1 = > array[1] =1 Как получается ввожу к примеру 3, 7, 8, 1, 10 на выводе получаю 10, 8, 7, 8, 10