Я новичок в Kotlin и пытаюсь сравнить элементы двух массивов, видя, какой массив имеет больший элемент. Массивы создаются с помощью пользовательского ввода. Ошибка, которую я имею, состоит в том, что когда я повторяю второй цикл for (внутренний цикл), который содержит содержимое второго массива, он не будет увеличиваться до следующего элемента второго массива в отличие от первого цикла for. Таким образом, если a = {1,2}
и b = {2,1}
, a
будет увеличиваться как на 1, так и на 2, но b
будет оставаться на 2 на обеих итерациях цикла. Вот моя функция, которая вызывает у меня проблему:
fun practiceCompareArray(a: Array<Int>, b: Array<Int>): Array<Int> {
var j: Array<Int>
var aPoints = 0
var bPoints = 0
for (x:Int in a) {
---------> for (y: Int in b) {
if (x > y) {
aPoints++
} else if (x < y) {
bPoints++
break
}
}
j = arrayOf(aPoints, bPoints)
return j
}
Цикл for со стрелкой создает мне проблему. Я думаю, что это из-за оператора break в конце внутреннего цикла. Мне даже нужен внутренний цикл для сравнения каждого массива? Любая помощь или документация будут полезны.