Σε αυτό το πρόγραμμα, θα μάθετε να ταξινομείτε τις λέξεις των στοιχείων με λεξικογραφική σειρά χρησιμοποιώντας ένα για βρόχο και αν αλλιώς σε Java.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:
- Java για βρόχο
- Java αν… αλλιώς Δήλωση
- Συμβολοσειρά Java
Παράδειγμα: Πρόγραμμα ταξινόμησης συμβολοσειρών σε σειρά λεξικών
public class Sort ( public static void main(String() args) ( String() words = ( "Ruby", "C", "Python", "Java" ); for(int i = 0; i < 3; ++i) ( for (int j = i + 1; j 0) ( // swap words(i) with words(j( String temp = words(i); words(i) = words(j); words(j) = temp; ) ) ) System.out.println("In lexicographical order:"); for(int i = 0; i < 4; i++) ( System.out.println(words(i)); ) ) )
Παραγωγή
Σε λεξικογραφική σειρά: C Java Python Ruby
Στο παραπάνω πρόγραμμα, η λίστα των 5 λέξεων προς ταξινόμηση αποθηκεύεται σε μια μεταβλητή, λέξεις.
Στη συνέχεια, περνάμε κάθε λέξη (λέξεις (i)) και τη συγκρίνουμε με όλες τις λέξεις (λέξεις (j)) μετά από αυτήν στον πίνακα. Αυτό γίνεται χρησιμοποιώντας τη μέθοδο σύγκρισης συμβολοσειράς ().
Εάν η τιμή επιστροφής του membandingkanTo () είναι μεγαλύτερη από 0, πρέπει να αλλάξει θέση, δηλαδή οι λέξεις (i) ακολουθούν τις λέξεις (j). Έτσι, σε κάθε επανάληψη, οι λέξεις (i) περιέχουν την πρώτη λέξη.
Βήματα εκτέλεσηςΕπανάληψη | Αρχικές λέξεις | Εγώ | ι | λόγια() |
---|---|---|---|---|
1 | ( "Ruby", "C", "Python", "Java" ) | 0 | 1 | ( "C", "Ruby", "Python", "Java" ) |
2 | ( "C", "Ruby", "Python", "Java" ) | 0 | 2 | ( "C", "Ruby", "Python", "Java" ) |
3 | ( "C", "Ruby", "Python", "Java" ) | 0 | 3 | ( "C", "Ruby", "Python", "Java" ) |
4 | ( "C", "Ruby", "Python", "Java" ) | 1 | 2 | ( "C", "Python", "Ruby", "Java" ) |
5 | ( "C", "Python", "Ruby", "Java" ) | 1 | 3 | ( "C", "Java", "Ruby", "Python" ) |
Τελικός | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |