Menu
Coddy logo textTech

Разбор без исключений

Часть раздела Логика и управление потоком путешествия по Kotlin на Coddy. Урок 51 из 63.

toIntOrNull возвращает Int для корректной строковой записи целого числа в допустимом диапазоне и null, если разбор не удался, включая переполнение. Объединяйте его с безопасной веткой или запасным значением Elvis. Удаление пробелов — отдельный выбор: явно удаляйте пробелы, если следует принимать пробелы вокруг значения.

Внутри main:

println(" 24 ".trim().toIntOrNull() ?: -1)

Обрезка удаляет окружающие пробелы, прежде чем преобразование будет выполнено успешно.

toIntOrNull сообщает о недопустимом или выходящем за допустимый диапазон целочисленном тексте как о значении null.

challenge icon

Задание

Средне

Завершите parseOrMissing с параметром text: String. Обрежьте пробелы в тексте и разберите его как Int. Верните -1, если разбор не удался или значение находится вне диапазона Int.

Если выше не указаны более строгие границы, коллекции содержат не более 100 элементов на каждом уровне, а целочисленные аргументы и целочисленные значения коллекций находятся в диапазоне от -1000 до 1000. Текст, предоставленный для разбора, может содержать недопустимые представления или представления значений, выходящих за допустимый диапазон, как описано выше.

Верните значение типа Int. Сохраните предоставленный код ввода/вывода. Он считывает скалярные аргументы по одному в строке; список начинается с его размера, за которым следуют его элементы, а map начинается с количества записей, за которым следуют каждый ключ и значение. Вложенные списки повторяют формат «размер и элементы» для каждой строки. Предоставленный main выводит возвращаемое значение, за которым следует один перевод строки. Списки используют стандартный формат Kotlin со скобками; не выводите дополнительные метки.

Попробуйте сами

fun parseOrMissing(text: String): Int {
    // Напишите ваше решение здесь.
    return 0
}
fun main() {
    val text = readLine().orEmpty()
    println(parseOrMissing(text))
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Kotlin