English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此程序中,您将学习使用for循环以及如果使用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 < 4; ++j) { if (words[i].compareTo(words[j]) > 0) { // words[i] 与 words[j] 交换 String temp = words[i]; words[i] = words[j]; words[j] = temp; } } } System.out.println("按照字典顺序:"); for(int i = 0; i < 4; i++) { System.out.println(words[i]); } } }
运行该程序时,输出为:
按照字典顺序: C Java Python Ruby
Im obigen Programm ist das zu sortierende5Die Liste der Wörter wird im Variablenwort gespeichert.
Dann iterieren wir durch jeden Wort (words [i]) und vergleichen es mit allen nachfolgenden Worten (words [j]) im Array. Dies wird durch die Verwendung der compareTo()-Methode der Zeichenkette erreicht.
Wenn der Rückgabewert von compareTo() größer als 0 ist, muss eine Umschaltung an der Position erfolgen, d.h. word [i] kommt nach word [j]. Daher enthält das Wort [i] im每次迭代中最早的单词
Iteration | Initialwort | i | j | words[] |
---|---|---|---|---|
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"} |