2017-03-03 1 views
-2

Ich versuche, den Namen einer Person in alphabetischer/umgekehrter alphabetischer Reihenfolge auszudrucken. Ich habe dies so weit:Machen Sie eine Zeichenfolge in Java alphabetisch sortiert?

Scanner name = new Scanner(System.in); 
    String N1;        
    String N2;        
    String N3;        
    double az_za;       

    System.out.print("First name: "); 
    N1 = name.nextLine();      
    System.out.print("Middle name: "); 
    N2 = name.nextLine();     
    System.out.print("Last name: "); 
    N3 = name.nextLine();      

    System.out.print("Enter 1 (alphabetical order) or 2 (reverse alphabetical order):"); 
    az_za = name.nextDouble();     

String names[] = {N1, N2, N3} 

Ive versucht, eine Zeichenfolge mit, aber ich war nicht sicher, wo damit gehen, wie man sehen kann. Ich habe auch versucht

if (N1.compareTo(N2) < 0) && (N1.compareTo(N3) < 0)

mit, aber ich war nicht sicher, was in dem {} wie in setzen, was zu tun habe ich gleich, was in alphabetischer Reihenfolge die Namen zu isolieren.

ICH HABE ALLES VERSUCHT, MEINE FÄHIGKEITEN ZU ERLAUBEN. Ich recherchierte und sah so viele Dinge nach, aber keiner half meinem Fall, also sag nicht "Was hast du probiert, du wirst deine Hausaufgaben nicht für dich machen". Btw Ich habe auch versucht, Arrays und Char (?), Aber wir haben nicht gelernt, dass in der Klasse, so glaube ich nicht, dass wir diese verwenden können.

TY im Voraus

EDIT:

Ok, so dass ich denke, dass ich es bekam:

String names[] = {N1, N2, N3}; 
     if (az_za == 1) { 
     Arrays.sort(names); 
     } else if (az_za == 2) { 
      Arrays.sort(names, Collections.reverseOrder()); 

Von hier sind es alle compiliert, aber im nicht sicher, was hier in den tatsächlichen Druckanweisungen setzen "

 if (az_za == 1) {    
     System.out.println("Your name in alphabetical order is " + __________); 
    }if (az_za == 2) {    
     System.out.println("Your name in reverse alphabetical order is " +_____________); 

Denn wenn ich was in den Arrays.sort (HIER) war ein Chaos. ..

+0

'String Namen [] = {N1, N2, N3}' * ist * ein Array. – shmosel

+2

Rufen Sie einfach 'Arrays.sort (Namen)'. – shmosel

+2

Alphabetisch wie in nur die Namen neu anordnen? Oder die Buchstaben in den Namen? – Peter

Antwort

3

Fügen Sie diesen nach unten hinzu.

if (az_za == 1) { 
    Arrays.sort(names); 
} else if (az_za == 2) { 
    Arrays.sort(names, Collections.reverseOrder()); 
} 

for (String namePart: names) { 
    System.out.print(namePart + " "); 
} 
+0

Aus irgendeinem Grund hält es Sprichwort kann kein Symbol für variable Arrays finden. Weißt du was das heißt? – JNV

+0

Ja, füge das nach oben hinzu, vor dem Unterricht. importieren Sie java.util.Arrays; import java.util.Collections; Import java.util.Scanner; –

0

Hier ist der einfachste Weg, dies mit dem Java8 zu tun.

public class SortNames {  
    public static void main(String[] args) { 
     List<String> names = Arrays.asList("Steven", "Allen", "Bo"); 
     names.sort(String::compareToIgnoreCase); 
     System.out.println(names); 
    }  
} 

Die Ausgabe sieht so aus.

[Allen, Bo, Steven] 
0
String[] arr = { "d", "a", "b", "c" }; 
Arrays.sort(arr); // for alphabetical order 
Arrays.sort(arr, (a, b) -> b.compareTo(a)); // for reverse alphabetical order 
System.out.println(Arrays.toString(arr)); 
Verwandte Themen