Учебный Java-проект с несколькими небольшими программами, демонстрирующими базовые принципы ООП, коллекции, циклы, случайные значения и консольный ввод.
Репозиторий содержит несколько учебных задач на Java:
- модель автомобиля;
- простую логику гонки с определением лидеров;
- консольную игру / симуляцию с вводом данных о машинах;
- небольшую задачу с овечками и случайным порядком.
Проект показывает работу с:
- классами и объектами;
- коллекциями
List; Scannerи вводом из консоли;- генерацией случайных чисел;
- базовой бизнес-логикой. :contentReference[oaicite:0]{index=0}
Класс модели автомобиля.
Хранит:
- название машины;
- скорость.
Предоставляет геттеры для чтения данных.
Класс гонки.
Отвечает за:
- хранение списка автомобилей;
- отслеживание максимальной скорости;
- определение текущих лидеров;
- возврат списка самых быстрых машин. :contentReference[oaicite:1]{index=1}
Основная консольная программа.
Функциональность:
- ввод данных о трёх автомобилях;
- проверка корректности скорости;
- повторные попытки ввода;
- штраф к скорости за ошибочные попытки;
- определение победителя;
- возможность сыграть ещё раз. :contentReference[oaicite:2]{index=2}
Небольшая отдельная программа с циклом и случайным порядком “прыжков овечек”.
Используется для тренировки:
- циклов;
- массивов;
Random. :contentReference[oaicite:3]{index=3}
- создание объектов автомобилей;
- добавление машин в гонку;
- поиск текущих лидеров по максимальной скорости;
- консольный ввод данных;
- валидация скорости;
- обработка пустого имени;
- повторение игры;
- применение штрафов за неверный ввод;
- работа со случайными числами. :contentReference[oaicite:4]{index=4}
- Пользователь вводит название автомобиля.
- Затем вводит его скорость.
- Если скорость введена неверно, программа предлагает повторить ввод.
- За каждую неверную попытку итоговая скорость уменьшается на 10%.
- После ввода трёх машин определяется лидер.
- Пользователь может начать новый раунд. :contentReference[oaicite:5]{index=5}
Класс Race при добавлении машины:
- сохраняет её в список;
- сравнивает скорость с текущей максимальной;
- если скорость выше — обновляет список лидеров;
- если скорость равна максимальной — добавляет машину в список лидеров. :contentReference[oaicite:6]{index=6}
- Java
ArrayListListScannerRandom- базовые конструкции ООП
Программа запрашивает:
- название автомобиля;
- скорость автомобиля.
После ввода выводит:
- лидера гонки;
- информацию о введённых значениях;
- итоговую скорость с учётом штрафов. :contentReference[oaicite:7]{index=7}
Компиляция:
javac *.javaЗапуск основной программы:
java MainЗапуск отдельной задачи с овечками:
java SheepJumpПроект демонстрирует:
- основы Java;
- создание простых классов;
- работу с коллекциями;
- обработку пользовательского ввода;
- базовую игровую / симуляционную логику;
- организацию небольшого учебного консольного приложения.
- разделить задачи по пакетам;
- вынести валидацию ввода в отдельные методы;
- добавить тесты;
- улучшить структуру консольного интерфейса;
- исправить проблемы с кодировкой вывода;
- добавить больше правил для гонки.