fun main(args: Array<String>) {
println("Number: ")
val num = readLine()!!.toInt()
var sum = 0
for (digit in num) {
if (digit % 2 != 0) {
sum += digit
}
}
println("$sum")
}
我需要这个循环来遍历数字中的每个数字,并将所有奇数的数字相加。 它给我一个num&#34的错误; For-loop范围必须有一个&#39; iterator()&#39;方法&#34;
答案 0 :(得分:3)
您无法迭代Int
之类的num
:
val num = readLine()!!.toInt()
您可以在没有循环的情况下使用标准函数map
,filter
和sum
进行修复:
val sum = readLine()!!.toCharArray()
.map { it.toString().toInt() }
.filter { it % 2 != 0 }
.sum()
filter
- 偶数的条件为it % 2 == 0
修改强>
为了做作业,请执行以下操作:
val num = readLine()!!.toCharArray()
var sum = 0
for (a in num) {
val intVal = a.toString().toInt()
if (intVal % 2 != 0) {
sum += intVal
}
}