Говорят, то println надо, то print строки "Введите команду (1/2/3):".
Пробовал и так, и так. Ничего не помогает.
Посмотрел решение. Оно вообще без isValid. Зачем тогда ее писать в предзаполнении?
package ru.javarush.kotlin.core.level04.task04
fun main() {
var selectedAction = ""
var isCorrect = false
while (!isCorrect) {
println("Введите команду (1/2/3):")
val rawInput = readln()
// TODO: Нормализуйте ввод с помощью trim() и выполните безопасный разбор в число через toIntOrNull()
val command: Int? = rawInput.trim().toIntOrNull()
// TODO: Реализуйте проверку допустимых значений 1, 2 или 3 без when (только сравнения и логические операторы)
val isValid = if (command == 1 || command == 2 || command == 3) true else false
if (isValid) {
// TODO: Сопоставьте номер команды с действием (1 — добавить, 2 — показать, 3 — выход)
selectedAction = if (command == 1) {
"добавить"
}
else if (command == 2)
{
"показать"
}
else {
"выход"
}
// TODO: Изменяйте переменную управления циклом так, чтобы цикл завершался только после корректного ввода
isCorrect = true
} else {
println("Некорректная команда.")
// TODO: После некорректной команды цикл должен продолжаться и снова запрашивать ввод (не завершайте цикл здесь)
}
}
println("Вы выбрали: $selectedAction")
}