Skip to content

About

Учебный Java-проект с консольными приложениями, логикой гонки, валидацией ввода и базовыми примерами ООП. Java training project with console applications, car race logic, input validation, and basic OOP examples.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Java Module Project YP

Учебный Java-проект с несколькими небольшими программами, демонстрирующими базовые принципы ООП, коллекции, циклы, случайные значения и консольный ввод.

Описание

Репозиторий содержит несколько учебных задач на Java:

  • модель автомобиля;
  • простую логику гонки с определением лидеров;
  • консольную игру / симуляцию с вводом данных о машинах;
  • небольшую задачу с овечками и случайным порядком.

Проект показывает работу с:

  • классами и объектами;
  • коллекциями List;
  • Scanner и вводом из консоли;
  • генерацией случайных чисел;
  • базовой бизнес-логикой. :contentReference[oaicite:0]{index=0}

Состав проекта

Car

Класс модели автомобиля.

Хранит:

  • название машины;
  • скорость.

Предоставляет геттеры для чтения данных.

Race

Класс гонки.

Отвечает за:

  • хранение списка автомобилей;
  • отслеживание максимальной скорости;
  • определение текущих лидеров;
  • возврат списка самых быстрых машин. :contentReference[oaicite:1]{index=1}

Main

Основная консольная программа.

Функциональность:

  • ввод данных о трёх автомобилях;
  • проверка корректности скорости;
  • повторные попытки ввода;
  • штраф к скорости за ошибочные попытки;
  • определение победителя;
  • возможность сыграть ещё раз. :contentReference[oaicite:2]{index=2}

SheepJump

Небольшая отдельная программа с циклом и случайным порядком “прыжков овечек”.

Используется для тренировки:

  • циклов;
  • массивов;
  • Random. :contentReference[oaicite:3]{index=3}

Возможности

  • создание объектов автомобилей;
  • добавление машин в гонку;
  • поиск текущих лидеров по максимальной скорости;
  • консольный ввод данных;
  • валидация скорости;
  • обработка пустого имени;
  • повторение игры;
  • применение штрафов за неверный ввод;
  • работа со случайными числами. :contentReference[oaicite:4]{index=4}

Как работает гонка

  1. Пользователь вводит название автомобиля.
  2. Затем вводит его скорость.
  3. Если скорость введена неверно, программа предлагает повторить ввод.
  4. За каждую неверную попытку итоговая скорость уменьшается на 10%.
  5. После ввода трёх машин определяется лидер.
  6. Пользователь может начать новый раунд. :contentReference[oaicite:5]{index=5}

Логика определения лидера

Класс Race при добавлении машины:

  • сохраняет её в список;
  • сравнивает скорость с текущей максимальной;
  • если скорость выше — обновляет список лидеров;
  • если скорость равна максимальной — добавляет машину в список лидеров. :contentReference[oaicite:6]{index=6}

Используемые технологии

  • Java
  • ArrayList
  • List
  • Scanner
  • Random
  • базовые конструкции ООП

Пример использования

Программа запрашивает:

  • название автомобиля;
  • скорость автомобиля.

После ввода выводит:

  • лидера гонки;
  • информацию о введённых значениях;
  • итоговую скорость с учётом штрафов. :contentReference[oaicite:7]{index=7}

Сборка и запуск

Компиляция:

javac *.java

Запуск основной программы:

java Main

Запуск отдельной задачи с овечками:

java SheepJump

Назначение проекта

Проект демонстрирует:

  • основы Java;
  • создание простых классов;
  • работу с коллекциями;
  • обработку пользовательского ввода;
  • базовую игровую / симуляционную логику;
  • организацию небольшого учебного консольного приложения.

Возможные улучшения

  • разделить задачи по пакетам;
  • вынести валидацию ввода в отдельные методы;
  • добавить тесты;
  • улучшить структуру консольного интерфейса;
  • исправить проблемы с кодировкой вывода;
  • добавить больше правил для гонки.

About

Учебный Java-проект с консольными приложениями, логикой гонки, валидацией ввода и базовыми примерами ООП. Java training project with console applications, car race logic, input validation, and basic OOP examples.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages