From 736808e1010eb28fb94f0d597a2a353ef01a27dc Mon Sep 17 00:00:00 2001 From: VancheSKa <69359310+VancheSKa@users.noreply.github.com> Date: Fri, 4 Apr 2025 18:42:13 +0300 Subject: [PATCH] Homework --- src/main/java/Car.java | 45 +++++++++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 23 ++++++++++++++++++++- src/main/java/Race.java | 27 +++++++++++++++++++++++++ 3 files changed, 94 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..fe8ee17bb --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,45 @@ +import java.util.Scanner; + +public class Car { + private final Scanner scanner = new Scanner(System.in); + String name; + int speed; + + public Car() { + } + + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } + + public String checkNameCar() { + String name; + while (true) { + if (scanner.hasNextLine()) { + name = scanner.nextLine(); + if (!name.trim().isEmpty()) { + return name; + } + } else { + System.out.println("название автомобиля не может быть пустым"); + scanner.nextLine(); + } + } + } + + public int checkMaxCarSpeed() { + int speed; + while (true) { + if (scanner.hasNextInt()) { + speed = scanner.nextInt(); + if (speed > 0 && speed <= 250) { + return speed; + } + } else { + System.out.println("Нечисловое значение скорости, дробное значение скорости, скорость вне допустимого диапазона от 0 до 250"); + scanner.next(); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..c2c66b587 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,27 @@ public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Race race = new Race(); + Car carNumberOne = new Car(); + System.out.println("Введите название машины №1:"); + carNumberOne.name = carNumberOne.checkNameCar(); + System.out.println("Введите скорость машины №1:"); + carNumberOne.speed = carNumberOne.checkMaxCarSpeed(); + + Car carNumberTwo = new Car(); + System.out.println("Введите название машины №2:"); + carNumberTwo.name = carNumberTwo.checkNameCar(); + System.out.println("Введите скорость машины №2:"); + carNumberTwo.speed = carNumberTwo.checkMaxCarSpeed(); + + Car carNumberThree = new Car(); + System.out.println("Введите название машины №3:"); + carNumberThree.name = carNumberThree.checkNameCar(); + System.out.println("Введите скорость машины №3:"); + carNumberThree.speed = carNumberThree.checkMaxCarSpeed(); + + System.out.println("Самая быстрая машина: " + + race.checkLeader(carNumberOne, carNumberTwo, carNumberThree) + ); } } \ 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..60f9d0e84 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,27 @@ +public class Race { + String leader; + int distance; + + //Дистанция = время (24) * скорость + public int getDistance(int speed) { + distance = 24 * speed; + return speed; + } + + public String checkLeader(Car carNumberOne, + Car carNumberTwo, + Car carNumberThree) { + int one = getDistance(carNumberOne.speed); + int two = getDistance(carNumberTwo.speed); + int three = getDistance(carNumberThree.speed); + + if (one > two && one > three) { + leader = carNumberOne.name; + } else if (two > one && two > three) { + leader = carNumberTwo.name; + } else if (three > one && three > two) { + leader = carNumberThree.name; + } + return leader; + } +}