2017-01-22 5 views
1

Nur um auf derselben Seite zu sein, möchte ich ein String-Array nicht in umgekehrter alphabetischer Reihenfolge sortieren. Ich freue mich darauf, dies zu tun ein Char-Array.(Java) Methode, die ein Char-Array in umgekehrter alphabetischer Reihenfolge sortiert

Hier ist mein Versuch Code:

import java.util.Arrays; 
public class ReverseSortDemo { 
    public static void main(String[] args){ 
     char[] unorderedLetters; 
     unorderedLetters = new char[]{'b', 'm', 'z', 'a', 'u'}; 
     reverseSort(unorderedLetters); 
     for (int i = 0 ; i < unorderedLetters.length; i++) 
      System.out.println(unorderedLetters[i]); 
    } 

    //method that sorts a char array into its reverse alphabetical order 
    public static void reverseSort(char[] values){ 

     Arrays.sort(values); 
     for (int i = values.length - 1; i >= 0; i--) { 
      values[values.length-1-i]=values[i]; 
     } 
    } 

} 

Der Ausgang ich bekommen habe, ist dies:

z 
u 
m 
u 
z 

Aber, meine gewünschte Ausgabe, wie Sie Jungs wissen, ist dies:

z 
u 
m 
b 
a 

Also, wie gehe ich damit um? Gibt es einen Weg, und wenn möglich, einen einfacheren Weg (z. B. eine eingebaute Methode), den ich nicht kenne, so dass ich mit meinem Code faul werden kann?

Antwort

0

Sie könnten die sort Methode in der java.util.Arrays Klasse versuchen.

Arrays.sort(values, Collections.reverseOrder()); 

Hier ist values Ihr Array.

+0

Dies funktioniert überhaupt nicht. Bitte testen Sie, was Sie mir vorschlagen, bevor Sie die Frage beantworten. –

+0

Ich muss das erwähnen. Das Array sollte nicht aus primitiven Datentypen bestehen. –

+0

Dann senden Sie keine "Antwort", die meine Frage nicht beantwortet. –

Verwandte Themen