#arrays #kotlin #if-statement #arraylist
#массивы #котлин #if-оператор #список массивов
Вопрос:
Проблема в том, что массив очистится после выхода из функции «if», и я хочу сохранить его сохраненным даже в цикле while.
while (letters != correct) {
var missedl = arrayListOf("")
if (word.contains(input)) {
println("Missed letters: $missedl")
} else {
missedl.add(input)
println("Missed letters: $missedl")
}
}
Это тоже не работает:
while (letters != correct) {
var missedl = arrayListOf("")
missedl.add(p)
var p = if (word.contains(input)) {
println("Missed letters: $missedl")
} else {
input
println("Missed letters: $missedl")
}
}
Комментарии:
1. извините, но этот код не имеет никакого смысла. Вы упоминаете
while
цикл, которого не существует в коде. Вы говорите, что массив очищается после выхода изif
, но вы не получаете доступ или ничего не изменяете в массиве во второй части, в том же месте, в коде естьp =
, что это должно быть?2. Ты прав, мне очень жаль. Я отредактирую его.
3. хорошо, теперь это имеет смысл, вы объявляете свой массив внутри цикла. Это означает, что независимо от того, что вы делаете с ним во время одной итерации, он просто создаст новый пустой на следующей итерации. Выведите arrray из цикла.
4. Да, это работает прямо сейчас. Пришлось ввести .distinct(), потому что буква показывалась дважды. Спасибо большое.