【发布时间】:2019-03-22 06:12:12
【问题描述】:
我正在尝试将一个数字数组相乘。应该很简单,但由于某种原因,我得到了一些巨大的数字,我无法弄清楚我做错了什么。
我输入一个数字,它被分割成一个数组,它遍历数字并将它们相乘
var iArray = i.toString().toCharArray()
var iCount = iArray.count().toString()
var x = 0
var sum: Long = 1
while(x < iCount.toInt()) {
Log.i(iArray[x].toString(), "array");
sum *= iArray[x].toLong()
x++
Log.i(sum.toString(), "sum");
}
在 logcat 中,我可以看到数组中的正确数字。例如,如果我尝试 357,这就是我得到的结果
I/3: 数组 I/51:总和
I/5: 数组 I/2703:总和
I/7: 数组 I/148665:总和
但如果我只计算 3*5*7 就可以了。我错过了什么?
【问题讨论】: