From 126ed85636a9f9d382c414520be2be5e020e063d Mon Sep 17 00:00:00 2001 From: MaxDDM Date: 2026年2月11日 18:56:06 +0300 Subject: [PATCH] add logic of Main, Car and Race classes --- src/main/java/Car.java | 9 +++++++ src/main/java/Main.java | 59 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 23 ++++++++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) 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 000000000..ee78c5c60 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String name; + short speed; + + public Car(String name, short speed) { + this.name = name; + this.speed = speed; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..eef3f8479 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,63 @@ +import static java.lang.Short.parseShort; + +import java.util.Scanner; public class Main { + public static short readSpeed(int carNumber) { + short speed = -1; + Scanner scanner = new Scanner(System.in); + do { + System.out.println("Введите скорость машины No" + carNumber + ":"); + String input = scanner.next(); + + try { + speed = parseShort(input); + } catch (NumberFormatException ignored) { + System.out.println("Введённое значение не удаётся преобразовать в целое число"); + continue; + } + + if (speed <= 0 || speed> 250) { + System.out.println("Скорость должна быть положительным числом, не большим 250"); + continue; + } + + break; + } while (true); + + return speed; + } + + public static String readName(int carNumber) { + Scanner scanner = new Scanner(System.in); + String nameOfCar; + + do { + System.out.println("Введите название машины No" + carNumber + ":"); + nameOfCar = scanner.next(); + + if (nameOfCar.isEmpty()) { + System.out.println("Имя не может быть пустым"); + } + } while(nameOfCar.isEmpty()); + + return nameOfCar; + } + + public static Car createCar(int carNumber) { + String nameOfCar = readName(carNumber); + short speedOfCar = readSpeed(carNumber); + + return new Car(nameOfCar, speedOfCar); + } + public static void main(String[] args) { - System.out.println("Hello world!"); + Car car1 = createCar(1); + Car car2 = createCar(2); + Car car3 = createCar(3); + + Race race = new Race(car1, car2, car3); + + System.out.println("Самая быстрая машина: " + race.whoIsLeader()); } } \ No newline at end of file diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 000000000..c336599d8 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,23 @@ +public class Race { + Car car1, car2, car3; + + public Race(Car car1, Car car2, Car car3) { + this.car1 = car1; + this.car2 = car2; + this.car3 = car3; + } + + public String whoIsLeader() { + // Достаточно просто сравнить скорости, без умножения на 24 + Car car = car1; + + if (car2.speed> car.speed) { + car = car2; + } + if (car3.speed> car.speed) { + car = car3; + } + + return car.name; + } +}

AltStyle によって変換されたページ (->オリジナル) /