@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")
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
val a = readLine()?.toIntOrNull()?.takeIf { it > 0 }

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

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

Войти через центр авторизации
Похожие вопросы
HR Prime Москва
от 200 000 до 300 000 ₽
SpectrumData Екатеринбург
от 90 000 до 150 000 ₽
25 окт. 2020, в 20:06
500 руб./в час
25 окт. 2020, в 19:57
30000 руб./за проект
25 окт. 2020, в 19:37
2500 руб./за проект