如何求kotlin中数字的和

  • 本文关键字:数字 何求 kotlin kotlin
  • 更新时间 :
  • 英文 :

fun main(args: Array<String>) {
sumOfDigits("12345");
}
fun sumOfDigits(n: String) {
val arr = n.toList()
val arrOfInt = arr.map{ it.toString().toInt() }
print(arrOfInt.sum())
}

我的任务是找出数字的和和平均值:

Sample Output:
12345
15 3.00

我对如何编码感到困惑。谁能给我简单和替代代码以上。

private fun sumAndAvgOfDigits(n: String) {
val arrOfInt= n.map {"$it".toInt()}
print("${arrOfInt.sum()} ${arrOfInt.average()}")
}
@JvmStatic
fun main(args: Array<String>) {
sumAndAvgOfDigits("12345")
}

另一个解决方案:

private fun sumAndAvgOfDigits(n: String) {
val arr = n.toList()
val sum = arr.sumBy { "$it".toInt() }
val avg = (sum.toDouble()/arr.size)
print("$sum $avg")
}

使用sumByDouble和一个简单的count变量也可以为您工作。

例如:

val str = "12345"

var count = 0
val sumOfStr = str.sumByDouble{
count++
it.toString().toDouble()
}

和平均值

val avg = sumOfStr / count

由于sumByDoubleString上,选择器函数看起来像selector: (Char) -> InttoDouble()Char上会给你ascii值,这就是为什么it被转换回String

为了完成你的任务,你必须执行以下步骤:

  1. 将字符串转换为整数数组。
  2. 查找数组的和
  3. 使用数组长度查找avg

这里有一个代码来帮助你更多

fun main() {
sumOfDigits("12345")

}
fun sumOfDigits(str: String) {
val arr = str.toList().map({it.toString().toInt()})
val sum = arr.sum()
val length = arr.size
val avg = sum / length
print(sum.toString() + ' ' + avg.toString())
}

下面是一个for循环的例子。你看到我们上面使用的语法叫做lambda表达式,这是kotlin的方法。试着学习它。这会对你有很大的帮助。

fun main() {
sumOfDigits("12345")
}
fun sumOfDigits(str: String) {
val strArray = str.toList()
var sum = 0

for (i in strArray) {
sum += i.toString().toInt()
}

val length = strArray.size
val avg = sum / length
print(sum.toString() + ' ' + avg.toString())
}

在Kotlin中查找数字和的简单方法(使用While循环)

fun main(args: Array<String>) {
var x = 123
var sum = 0
while (x > 0) {
var y = x % 10
sum += y
x /= 10
}
println(sum)
}

这里的答案是:6

最新更新