¿Por array.sort no funciona por una serie como esta?

depilación con cera:

Acabo de comenzar a programar hace alrededor de 2 semanas por lo que no será demasiado estricta :)

Traté de resolver un ejercicio de programación para imprimir los 3 más grandes elememts de una matriz, pero el método .Sort

informa de un error y no sé qué. Parece que he declarado mi matriz en el camino equivocado, pero no puedo detectar el error.

public static void main(String[] args) {
    int [] elements = {1, 4, 17, 7, 25, 3, 100};
    int k = 3;
    System.out.println("Original Array: ");
    System.out.println(Arrays.toString(elements));
    System.out.println(k +" largest elements of the said array are:");
    Arrays.sort(elements, Collections.reverseOrder());         
   for (int i = 0; i < k; i++) 
      System.out.print(elements[i] + " ");
}

}

Nexevis:

Las otras respuestas dirigidas sobre cómo invertir su primitiva intmatriz, pero de acuerdo a su pregunta problema, parece que no es necesario para revertir la matriz en absoluto.

Simplemente iterar a través de la matriz a partir de finales cambiando sus forcondiciones:

public static void main(String[] args)
{
    int [] elements = {1, 4, 17, 7, 25, 3, 100};
    int k = 3;
    System.out.println("Original Array: ");
    System.out.println(Arrays.toString(elements));
    System.out.println(k +" largest elements of the said array are:");
    Arrays.sort(elements);         
    for (int i = elements.length - 1; i > elements.length - k; i--) 
      System.out.print(elements[i] + " ");
}

Salida:

Original Array: 
[1, 4, 17, 7, 25, 3, 100]
3 largest elements of the said array are:
100 25 17 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=277874&siteId=1
Recomendado
Clasificación