V tomto programu se naučíte třídit slova prvků v lexikografickém pořadí pomocí smyčky for a pokud jinde v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Java pro smyčku
- Prohlášení Java, pokud … else
- Řetězec Java
Příklad: Program pro řazení řetězců v pořadí slovníků
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)); ) ) )
Výstup
V lexikografickém pořadí: C Java Python Ruby
Ve výše uvedeném programu je seznam 5 slov seřazených uložen v proměnné slova.
Poté projdeme každé slovo (slova (i)) a porovnáme ho se všemi slovy (slova (j)) za ním v poli. To se provádí pomocí metody porovnání řetězce () řetězce.
Pokud je návratová hodnota komparaceTo () větší než 0, musí být na pozici zaměněna, tj. Slova (i) následují za slovy (j). V každé iteraci tedy slova (i) obsahují nejdříve slovo.
Prováděcí krokyOpakování | Počáteční slova | i | j | slova () |
---|---|---|---|---|
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" ) |
Finále | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |