absolutes 变量代表一个数字。 当“负数”为“正数”时,该符号尝试将“-”转换为数字“++”。 我们将解决添加我们更改的所有变量的任务。
a[i] = 绝对值[i].unaryMinus()
在这句话中, 引起原因:java.lang.ArrayIndexOutOfBoundsException: length=1;索引=1
出现错误。
我能知道哪一部分是错误的吗?
val absolutes = intArrayOf(4,7,12)
val sign = arrayOf(true,false,true)
val a = intArrayOf(0)
for (i in absolutes.indices){
if (!sign[i]) {
a[i] = absolutes[i].unaryMinus()
}
}
val result = a.sum()
Log.d(logTag, "onCreate is called result = $result")
最佳答案
来自 Kotlin 标准库的
intArrayOf
"Returns an array containing the specified Int numbers" .
因此,a
的值是 size
1 的 IntArray
。
您不能将值分配给 lastIndex
之上的索引,在本例中为 0。
我假设您的目标是创建一个与输入大小相同的 IntArray
,默认情况下用零填充。
val a = IntArray(absolutes.size)
关于kotlin - 如何在 kotlin 中将数字更改为负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70658338/