В тази програма ще се научите да сортирате думите на елементите в лексикографски ред с помощта на цикъл for и ако е друго в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java за Loop
- Java, ако … друго Изявление
- Java String
Пример: Програма за сортиране на низове в реда на речника
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)) след нея в масива. Това се прави с помощта на метода за сравнение на stringTo ().
Ако върнатата стойност на compareTo () е по-голяма от 0, тя трябва да бъде разменена в позиция, т.е. думите (i) идват след думите (j). И така, във всяка итерация думите (i) съдържат най-ранната дума.
Стъпки за изпълнениеПовторение | Първоначални думи | i | j | думи () |
---|---|---|---|---|
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" ) |