如何在科特林中将数字更改为负数
How can I change number to negative number in kotlin
absolutes 变量代表一个数字。
当“负数”为“正数”时,符号试图将“-”转换为数字“++”。
我们将解决添加我们更改的所有变量的任务。
a[i] = 绝对值[i].unaryMinus()
在这句话中,
原因:java.lang.ArrayIndexOutOfBoundsException:长度=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")
intArrayOf
来自 Kotlin 标准库 "Returns an array containing the specified Int numbers".
因此,您的 a
值是 IntArray
的 size
1。
您不能为 lastIndex
以上的索引赋值,在本例中为 0.
我假设您打算创建一个 IntArray
与您的输入大小相同,默认情况下填充零。
val a = IntArray(absolutes.size)
您创建了一个包含 1 个元素的数组 a
,因此在引用 a[1]
时您遇到了 ArrayIndexOutOfBoundsException。
将数组声明为 val a = intArrayOf(0, 0, 0) 或减少初始数组。
val absolutes = intArrayOf(4, 7, 12)
val sign = arrayOf(true, false, true)
absolutes.foldIndexed(0) { index, acc, element ->
return@foldIndexed if (sign[index]) {
acc + element
} else {
acc - element
}
}
absolutes 变量代表一个数字。 当“负数”为“正数”时,符号试图将“-”转换为数字“++”。 我们将解决添加我们更改的所有变量的任务。
a[i] = 绝对值[i].unaryMinus()
在这句话中, 原因:java.lang.ArrayIndexOutOfBoundsException:长度=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")
intArrayOf
来自 Kotlin 标准库 "Returns an array containing the specified Int numbers".
因此,您的 a
值是 IntArray
的 size
1。
您不能为 lastIndex
以上的索引赋值,在本例中为 0.
我假设您打算创建一个 IntArray
与您的输入大小相同,默认情况下填充零。
val a = IntArray(absolutes.size)
您创建了一个包含 1 个元素的数组 a
,因此在引用 a[1]
时您遇到了 ArrayIndexOutOfBoundsException。
将数组声明为 val a = intArrayOf(0, 0, 0) 或减少初始数组。
val absolutes = intArrayOf(4, 7, 12)
val sign = arrayOf(true, false, true)
absolutes.foldIndexed(0) { index, acc, element ->
return@foldIndexed if (sign[index]) {
acc + element
} else {
acc - element
}
}