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" } |