În acest program, veți învăța să sortați cuvintele element în ordine lexicografică folosind o buclă for și dacă altceva în Java.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:
- Java pentru buclă
- Java dacă … altfel Declarație
- Șir Java
Exemplu: Program pentru sortarea șirurilor în ordinea dicționarului
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)); ) ) )
Ieșire
În ordine lexicografică: C Java Python Ruby
În programul de mai sus, lista de 5 cuvinte care trebuie sortate este stocată într-o variabilă, cuvinte.
Apoi, parcurgem fiecare cuvânt (cuvinte (i)) și îl comparăm cu toate cuvintele (cuvinte (j)) după acesta în matrice. Acest lucru se face folosind metoda compareTo () a șirului.
Dacă valoarea returnată a compareTo () este mai mare decât 0, trebuie schimbată în poziție, adică cuvintele (i) vin după cuvintele (j). Deci, în fiecare iterație, cuvintele (i) conțin cel mai vechi cuvânt.
Pași de execuțieRepetare | Cuvinte inițiale | eu | j | cuvinte () |
---|---|---|---|---|
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" ) |
Final | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |