@hypnogaja

Как сделать идеальный input?

Всем привет, предположим что нужно из консоли от пользователя получить число a и проверить число ли это, и больше ли нуля?
Как сделать это красиво из без громоздких конструкций?
Приведенынй вариант проверяет только на Integer, но пропускает отрицательные числа
print("Введите число A: ")
    val a = readLine()?.toIntOrNull() ?: print("Вы ввели не число\n")
    print("Вы ввели число: ${a}")


Эта конструкция соблюдает требования, но не отличается сдержанностью
val n = readLine()?.toIntOrNull()
        ?.let { a ->
            if (a > 0) {
                println("Вы ввели число: ${a}")
            } else {
                println("Введенное число отрицательное\n")
            }
        }
        ?: println("Вы ввели не число\n")
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
val a = readLine()?.toIntOrNull()?.takeIf { it > 0 }

println(if (a == null) "Вы ввели не число" else "Вы ввели число: $a" )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dmtm
Android
print (readLine()?.toIntOrNull()?:0>0)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы