From ea6c90a8c52bb9e10b63378155ab6a11d5b9dc00 Mon Sep 17 00:00:00 2001 From: rndsamurai Date: Tue, 14 Jan 2025 19:35:02 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9C=D0=BE=D1=8F=20=D0=B4=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D1=88=D0=BD=D1=8F=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 41 +++++++++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 31 ++++++++++++++++++++++++++++++- src/main/java/Race.java | 18 ++++++++++++++++++ 3 files changed, 89 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..f4a877448 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,41 @@ +import java.util.Objects; + +public final class Car { + private final String name; + private final double speed; + + public Car(String name, double speed) { + this.name = name; + this.speed = speed; + } + + public String name() { + return name; + } + + public double speed() { + return speed; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) return true; + if (obj == null || obj.getClass() != this.getClass()) return false; + var that = (Car) obj; + return Objects.equals(this.name, that.name) && + Double.doubleToLongBits(this.speed) == Double.doubleToLongBits(that.speed); + } + + @Override + public int hashCode() { + return Objects.hash(name, speed); + } + + @Override + public String toString() { + return "Car[" + + "name=" + name + ", " + + "speed=" + speed + ']'; + } + +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..72778cf4e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,35 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + String name; + Car[] cars = new Car[3]; + int speed; + Scanner scanner = new Scanner(System.in); +for (int i = 0; i < 3; i++) { + System.out.println("Название машины № " + (i + 1) + ":"); + name = scanner.next(); + + + while (true) { + System.out.println("Скорость машины № " + (i + 1) + " в км/ч:"); + if(!scanner.hasNextInt()) { + speed = scanner.nextInt(); + System.out.println("Введите целочисленное значение."); + + } else speed = scanner.nextInt(); + if (speed < 250 && speed > 0) { + break; + } + System.out.println("Введено некорректное значение скорости."); + } + cars[i] = new Car(name, speed); +} + Race race = new Race(); + race.determineLeader(cars); + + Car leader = race.getLeader(); + System.out.println("Самая быстрая машина: " + leader.name()); + scanner.close(); } } \ 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..9742b5fdd --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,18 @@ +public class Race { + private Car leader; + + public void determineLeader(Car[] cars) { + double maxDistance = 0; + + for (Car car : cars) { + double distance = car.speed() * 24; + if (distance > maxDistance) { + maxDistance = distance; + leader = car; + } + } + } + public Car getLeader() { + return leader; + } +} From 77d301872770dfbba220a256c812abf1ebf7fb69 Mon Sep 17 00:00:00 2001 From: rndsamurai Date: Wed, 15 Jan 2025 17:54:09 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9C=D0=BE=D1=8F=20=D0=B4=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D1=88=D0=BD=D1=8F=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 72778cf4e..f63320415 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,10 +3,12 @@ public class Main { public static void main(String[] args) { String name; - Car[] cars = new Car[3]; + int i = 3; + Car[] cars = new Car[i]; int speed; + Scanner scanner = new Scanner(System.in); -for (int i = 0; i < 3; i++) { +for (i = 0; i < 3; i++) { System.out.println("Название машины № " + (i + 1) + ":"); name = scanner.next(); @@ -18,7 +20,7 @@ public static void main(String[] args) { System.out.println("Введите целочисленное значение."); } else speed = scanner.nextInt(); - if (speed < 250 && speed > 0) { + if (speed <= 250 && speed > 0) { break; } System.out.println("Введено некорректное значение скорости.");