Kotlin 来自控制台的循环字符串和奇数和 fun main(args:Array){ println(“编号:”) val num=readLine()!!.toInt() var总和=0 for(数字中的数字){ 如果(数字%2!=0){ 总和+=位数 } } println($sum) }
我需要这个循环遍历数字中的每个数字,并对所有奇数数字求和。Kotlin 来自控制台的循环字符串和奇数和 fun main(args:Array){ println(“编号:”) val num=readLine()!!.toInt() var总和=0 for(数字中的数字){ 如果(数字%2!=0){ 总和+=位数 } } println($sum) },kotlin,Kotlin,我需要这个循环遍历数字中的每个数字,并对所有奇数数字求和。 它在num上给了我一个错误,因为循环范围必须有一个'iterator()'方法“您不能像num那样迭代Int: fun main(args: Array<String>) { println("Number: ") val num = readLine()!!.toInt() var sum = 0 for (digit in num) { if (digit % 2 != 0
它在num上给了我一个错误,因为循环范围必须有一个'iterator()'方法“您不能像
num
那样迭代Int
:
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")
}
val num = readLine()!!.toInt()
您可以使用标准函数map
、filter
和sum
,不使用循环来修复它:
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")
}
val num = readLine()!!.toInt()
偶数的筛选条件为it%2==0
编辑
对于家庭作业,请执行以下操作:
val sum = readLine()!!.toCharArray()
.map { it.toString().toInt() }
.filter { it % 2 != 0 }
.sum()
对于包含如何实现所需的答案,您需要解释希望通过整数循环执行的操作。我已经更新了@chriscan,您可以举个例子吗?例如,用户输入34652312,它打印12,这是该数字@s1m0nw1上所有偶数algarism的总和。我的答案能满足您的需要吗?我想这可以解决问题,但有没有更简单的方法?这是我必须为我的课程做的家庭作业,我们还没有学习地图或过滤器,所以如果我用它的话会很奇怪。谢谢您当然,我会添加它您不需要.tocharray()
,因为String.iterator()
已定义。您也可以从Char
转到它所表示的数字,而不使用中间字符串(getNumericValue()
),但这更像是一种优化。