絕對變數代表一個數字。當“負數”為“正數”時,該符號嘗試將“-”轉換為數字“ ”。我們將解決添加我們更改的所有變數的任務。
a[i] = absolutes[i].unaryMinus()
在這句話中, Caused by: 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")
uj5u.com熱心網友回復:
intArrayOf來自 Kotlin 標準庫“回傳包含指定 Int 數字的陣列”。
因此,你的價值a是IntArray的size1.您可以到指數高于不分配值lastIndex,在這種情況下是0。
我假設您的目標是創建一個IntArray與您的輸入相同的大小,默認填充為零。
val a = IntArray(absolutes.size)
uj5u.com熱心網友回復:
您已經創建了一個a包含 1 個元素的陣列,因此在參考時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
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408067.html
標籤:
