在Kotlin中除以数组的大小,但我得到的是零,甚至数组的大小等于1或更多。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Kotlin中除以数组的大小,但我得到的是零,甚至数组的大小等于1或更多。相关的知识,希望对你有一定的参考价值。
fun plusMinus(arr: Array<Int>): Unit {
var counterPositive = 0
var counterNegative = 0
var counterZero = 0
for(i in 0 until arr.size) {
if(arr[i] > 0) {
counterPositive++
} else if(arr[i] < 0) {
counterNegative++
} else {
counterZero++
}
}
println(counterPositive)
println(arr.size)
val a = counterPositive/arr.size
println(a)
}
我试图解决简单的算法问题,但我面临着这个有趣的事情。所以,我试图找到数组中的正数、负数和零。然后把每个数除以数组的大小。然后打印出来,但是我的结果是0。但是当我调试代码时,我看到 counterPositive 是 4,arr.size 是 5,但是我得到的是 0,为什么?
答案
你得到的是零,因为 counterPositive
, counterNegative
和 counterZero
初始化为 0
所以,该类型 Int
是推断出来的。
由于数组大小是一个 Int
两分法 Int
导致 Int
.
要解决这个问题,你需要使用一个叫做 Float
或 Double
.
val a = counterPositive.toFloat() / arr.size
以上是关于在Kotlin中除以数组的大小,但我得到的是零,甚至数组的大小等于1或更多。的主要内容,如果未能解决你的问题,请参考以下文章