JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Правила гри та стан

    Kotlin SELF
    15 рівень, 0 лекція
    Фіксуємо «правила» гри «Вгадай число» як модель: що вважається спробою, коли гра завершується та як обробляти некоректне введення. Розділяємо налаштування й стан через val/ var, вводимо інваріанти та ранні перевірки через require(...), оформлюємо правила як функції ( validateGameSettings, isInRange) і домовляємося, де саме «живе» attempt ++. Наприкінці намічаємо каркас сценарію та розбираємо типові помилки.
    Відкрита
  • Генерація секрету через Random: межі діапазону та помилка «на 1»

    Kotlin SELF
    15 рівень, 1 лекція
    Розбираємося, як коректно генерувати секретне число в Kotlin за допомогою kotlin.random.Random: контракт Random.nextInt( from, until), чому верхня межа не включається, звідки береться «помилка на 1» і як її уникнути за формулою max + 1. Пишемо функцію generateSecret(), додаємо require для fail-fast, робимо швидку перевірку меж і обговорюємо нюанси: nextInt(range) та seed для відтворюваного налагодження.
    Відкрита
  • Декомпозиція на функції: введення, порівняння, повідомлення та контракти

    Kotlin SELF
    15 рівень, 2 лекція
    Розбираємося, як перетворити «простирадло» в main() на набір зрозумілих функцій: винести введення в readGuessOrNull() із результатом Int ?, ізолювати чисту логіку в compareGuess(), зібрати підказки, зрозумілі людині, через hintText() і сформулювати контракти («вхід/вихід/побічні ефекти/помилка») так, щоб null і toIntOrNull() працювали на вас, а не проти вас.
    Відкрита
  • Основний цикл спроб: стійке введення, підказки та підсумок

    Kotlin SELF
    15 рівень, 3 лекція
    Розбираємо «серцебиття» гри-відгадайки на Kotlin: як побудувати цикл спроб через while з лічильником attempt, чому умова attempt <= maxAttempts читається чесніше, як додати стійке введення через readGuessOrNull і Int ?, де доречні continue і break, і як не впіймати баги «на 1» через невдале місце для attempt ++. Наприкінці — єдиний main () і схема потоку виконання.
    Відкрита
  • Сценарії поведінки та налагодження: шукаємо помилки в спробах і розгалуженнях

    Kotlin SELF
    15 рівень, 4 лекція
    Розбираємося, як перетворити «ніби працює» на відтворювану поведінку: складаємо сценарії (введення, межі, перемога/поразка), фіксуємо випадковість через debug-режим, ставимо точкові println-логи, ловимо помилки «на 1» навколо attempt ++ і умов <=, перевіряємо розгалуження через when, додаємо запобіжники require/ check і користуємося базовим відладчиком в IntelliJ IDEA (breakpoints, кроки, перегляд значень).
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush