【发布时间】:2021-07-19 14:28:27
【问题描述】:
作为 Kotlin 课程的一部分,我正在处理一项任务,但我一直被困在这上面。我觉得这很简单,但我看不到。以下是对此任务的说明:
给你一个整数列表。遍历给定的 List 并在一行中打印可被 2 整除的元素。
示例输入:
8 11 13 2
样本输出:
8 2
这是我的代码(我打印了数字列表以查看提供给我的数字,因为我没有选择它们,它们是由课程自动提供的,而我看不到它们):
fun solution(numbers: List<Int>) {
var divisible = intArrayOf()
for (i in 0..numbers.lastIndex) {
if (numbers[i] % 2 == 0){
divisible = intArrayOf(numbers[i])
}
}
println("$numbers")
println("${divisible.joinToString("")}")
这是我的输出:
[8, 11, 13, 2]
2
我想我已经完成了检查数字是否可以被 2 整除的部分,但我不完全理解为什么它只打印 2,如果它可以被 2 整除,为什么不先打印 8。起初我使用一个列表而不是一个可分割变量的数组,所以我认为可能是它,因为如果我没记错的话,列表是不可变的,但看起来不是这样。如果有人能向我解释我做错了什么,我将不胜感激!
【问题讨论】:
标签: arrays list for-loop kotlin integer