как посчитать сумму элементов Kotlin
Есть массив, из него я беру четные элементы стоящие на нечетных местах, записываю в новый массив, а дальше нужно посчитать сумму элементов в новом массиве и вывести в текстовое поле, но где-то видимо не правильное приведение типов
fun masCount(view: View) {
val countString = textView.text.toString(); // получаем значение из поля
val arrayItems = arrayOf(1, 2, 3, 4, 5);
val evenItems = emptyArray<Int>();
for ((index, value) in arrayItems.withIndex()) {
if ((value % 2) == 0) {
if((index)!=0){
evenItems[index+0] = index;
}
}
}
textView.text = evenItems.sum(); // ругается вот на эту строчку
}
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
evenItems.sum() //возвращает Int
textView.text = ... //принимает String
Так что да, проблема в типах.
Решение очевидно:
textView.text = (evenItems.sum() ?: 0).toString()
Кроме того, у Вас неправильная работа с массивом, нужно так:
val arrayItems = arrayOf(1, 2, 3, 4, 5)
val evenItems = mutableListOf<Int>()
for(i in arrayItems.indicies){
if(i%2 == 1 && arrayItems[i]%2 == 0) //четные элементы, стоящие на нечетных местах
eventItems.add(arrayItems[i])
}