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
В上面的 программе список из 5 слов для сортировки хранится в переменной word.
Затем мы проходим по каждому слову (words [i]) и сравниваем его со всеми следующими словами (words [j]) в массиве. Это выполняется с помощью метода compareTo() строки.
Если значение возвращаемое compareTo() больше 0, то необходимо выполнить обмен местами, то есть word [i] после word [j]. Поэтому в каждом итерации слово [i] содержит наиболее раннее слово
Итерация | Начальное слово | 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" } |
Константа | { "C", "Java", "Ruby", "Python" } | 2 | 3 | { "C", "Java", "Python", "Ruby" } |