在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, counterNegativecounterZero 初始化为 0 所以,该类型 Int 是推断出来的。

由于数组大小是一个 Int两分法 Int 导致 Int.

要解决这个问题,你需要使用一个叫做 FloatDouble.

val a = counterPositive.toFloat() / arr.size

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何使用本地安装的Gulp.js v4与`yarn --no-bin-links`?

2022-4-22 13:08:54

解决方案

combineLatest没有被调用

2022-4-22 13:08:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索