From 15f5fde070a14ca7234c092fd4e302618d409e62 Mon Sep 17 00:00:00 2001 From: Kdly9 Date: Mon, 29 Jul 2024 22:24:49 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 20 ++++++++++++++++++++ src/main/java/Main.java | 35 ++++++++++++++++++++++++++++++++--- src/main/java/Race.java | 24 ++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 src/main/java/Car.java create mode 100644 src/main/java/Race.java diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 0000000..2633170 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,20 @@ +public class Car { + String name; + int speed; + + void setCarName(String name) { + this.name = name; + } + + void setSpeed(int speed) { + this.speed = speed; + } + + String getName() { + return name; + } + + double calcKmForDay() { + return speed * 24; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..750219e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,37 @@ +import java.util.InputMismatchException; +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + Race race = new Race(); + Scanner scan = new Scanner(System.in); + while (race.getCarArraySize() < 3) { + Car car = new Car(); + int number = race.getCarArraySize() + 1; + System.out.println("Введите название машины №" + number); + car.setCarName(scan.next()); + boolean validInput = false; + while (!validInput) { + try { + System.out.println("Введите скорость машины №" + number); + int speed = scan.nextInt(); + if (speed > 0 && speed <= 250) { + validInput = true; + car.setSpeed(speed); + } else { + throw new Exception(); + } + } catch (InputMismatchException e) { + System.out.println("Ошибка: это не число"); + scan.next(); + } catch (Exception e) { + System.out.println("Ошибка: введите корректное число от 0 до 250"); + } + } + race.addCar(car); + } + Car leader = race.findLeader(); + System.out.println("Лидер гонки: " + leader.getName()); } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 0000000..79cc3e9 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,24 @@ +import java.util.ArrayList; + +public class Race { + ArrayList cars = new ArrayList<>(); + Car leader = new Car(); + + void addCar(Car car) { + cars.add(car); + } + + Car findLeader() { + for (Car car : cars) { + if (car.calcKmForDay() > leader.calcKmForDay()) { + leader = car; + } + } + return leader; + } + + int getCarArraySize() { + return cars.size(); + } + +}