在这个程序中,您将学习使用for循环和Kotlin中的if else语句按字典顺序对元素单词排序。
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])
}
}运行该程序时,输出为:
按照字典顺序: C Java Python Ruby
在上述程序中,要排序的5个单词的列表存储在变量word中。
然后,我们遍历每个单词(words [i]),并将其与数组中之后的所有单词(words [j])进行比较。这是通过使用字符串的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代码:按字典顺序对单词进行排序的Java程序