Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 检查可被2整除的数字,并用Kotlin打印_Arrays_List_For Loop_Kotlin_Integer - Fatal编程技术网

Arrays 检查可被2整除的数字,并用Kotlin打印

Arrays 检查可被2整除的数字,并用Kotlin打印,arrays,list,for-loop,kotlin,integer,Arrays,List,For Loop,Kotlin,Integer,作为科特林课程的一部分,我正在做一项任务,我真的被困在这件事上了。我觉得这很简单,但我看不见。以下是此任务的操作说明: 您将获得一个整数列表。迭代给定的列表,并在单行中打印可被2整除的元素 样本输入: 样本输出: 8 2 这是我的代码(我打印了数字列表,以查看提供给我的数字,因为我没有选择它们,它们是课程自动给出的,我没有看到它们): 我想我已经完成了检查数字是否可以被2整除的部分,但是我不完全理解为什么它只打印2,如果它可以被2整除,为什么不先打印8。起初,我使用列表而不是数组来表示可除变量

作为科特林课程的一部分,我正在做一项任务,我真的被困在这件事上了。我觉得这很简单,但我看不见。以下是此任务的操作说明:

您将获得一个整数列表。迭代给定的列表,并在单行中打印可被2整除的元素

样本输入:

样本输出:

8 2
这是我的代码(我打印了数字列表,以查看提供给我的数字,因为我没有选择它们,它们是课程自动给出的,我没有看到它们):

我想我已经完成了检查数字是否可以被2整除的部分,但是我不完全理解为什么它只打印2,如果它可以被2整除,为什么不先打印8。起初,我使用列表而不是数组来表示可除变量,所以我认为可能是这样,因为如果我没有错的话,列表是不可变的,但看起来不是这样。如果有人能向我解释我做错了什么,我将不胜感激

在每个可被2整除的项上重写结果持有者(
divisible=intArrayOf()
),这就是为什么只有最后一个匹配项存储在可整除的数组中

而不是

divisible = intArrayOf(numbers[i])
你应该写

divisible.add(numbers[i]) // no need to re-initialize
更新:我错过了数组没有
添加
操作。如果合适,您可以使用列表而不是数组,以使
add
操作可用:

var divisible = mutableListOf<Int>()
var divisible=mutableListOf()
另外,对于Kotlin来说,有一个较短的方法可以做到这一点:

fun解决方案(编号:列表){
val divisible=numbers.filter{it%2==0}
println(“$numbers”)
println(${divisible.joinToString(“”}))
}
在每个可被2整除的项上重写结果持有者(
divisible=intArrayOf()
),这就是为什么只有最后一个匹配项存储在可整除的数组中

而不是

divisible = intArrayOf(numbers[i])
你应该写

divisible.add(numbers[i]) // no need to re-initialize
更新:我错过了数组没有
添加
操作。如果合适,您可以使用列表而不是数组,以使
add
操作可用:

var divisible = mutableListOf<Int>()
var divisible=mutableListOf()
另外,对于Kotlin来说,有一个较短的方法可以做到这一点:

fun解决方案(编号:列表){
val divisible=numbers.filter{it%2==0}
println(“$numbers”)
println(${divisible.joinToString(“”}))
}

您可以将筛选器与谓词一起使用

例如:

val list = listOf(8,2,11,15)
kotlin的解决方案非常简单

val result = list.filter { it % 2 == 0 }

可以将筛选器与谓词一起使用

例如:

val list = listOf(8,2,11,15)
kotlin的解决方案非常简单

val result = list.filter { it % 2 == 0 }

非常感谢。然而,它告诉我add的“未解析引用”。我不知道为什么,我正在谷歌搜索,看看是否能找到什么。你有什么想法吗?@Pauliecode my bad,见最新答案谢谢!!这是完美的。我完全忘记了filter关键字,看来我要重新学习这个理论了!:')非常感谢。然而,它告诉我add的“未解析引用”。我不知道为什么,我正在谷歌搜索,看看是否能找到什么。你有什么想法吗?@Pauliecode my bad,见最新答案谢谢!!这是完美的。我完全忘记了filter关键字,看来我要重新学习这个理论了!:')非常感谢。现在成功了!非常感谢。现在成功了!