在這個(gè)程序中,您將學(xué)習(xí)使用for循環(huán)和Kotlin中的if else語(yǔ)句按字典順序?qū)υ貑卧~排序。
fun main(args: Array<String>) { val words = arrayOf("Ruby", "C", "Python", "Java") for (i in 0..2) { for (j in i + 1..3) { if (words[i].compareTo(words[j]) > 0) { // words[i] 與 words[j] 交換 val temp = words[i] words[i] = words[j] words[j] = temp } } } println("按照字典順序:") for (i in 0..3) { println(words[i]) } }
運(yùn)行該程序時(shí),輸出為:
按照字典順序: C Java Python Ruby
在上述程序中,要排序的5個(gè)單詞的列表存儲(chǔ)在變量word中。
然后,我們遍歷每個(gè)單詞(words [i]),并將其與數(shù)組中之后的所有單詞(words [j])進(jìn)行比較。這是通過使用字符串的compareTo()方法完成的。
如果compareTo()的返回值大于0,則必須在位置上交換它,即,words[i]在words[j]之后。因此,在每次迭代中,words[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" } |
這是等效的Java代碼:按字典順序?qū)卧~進(jìn)行排序的Java程序