From f943d3720d16fe52b63aa9c12709cba19fd870d4 Mon Sep 17 00:00:00 2001 From: aegorovnurtelecom-alt Date: Wed, 24 Dec 2025 11:34:30 +0600 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9C=D0=BE=D0=B9=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 9 +++++++++ src/main/java/Main.java | 42 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 21 +++++++++++++++++++++ 3 files changed, 71 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..cdbfb31bb --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String carName; + int carSpeed; + + Car(String carName, int carSpeed){ + this.carName = carName; + this.carSpeed = carSpeed; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..42ae185f2 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,46 @@ +import java.util.ArrayList; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + ArrayList cars = new ArrayList<>(); + for (int i = 1; i < 4; i++) { + System.out.println(String.format("Введите название %d автомобиля: ", i)); + String carName = scanner.nextLine(); + + while (true) { + System.out.println(String.format("Введите скорость %d автомобиля: ", i)); + + if (!scanner.hasNextInt()){ // Проверка на ввод не цифр + System.out.println("Скорость должна быть целым числом"); + scanner.next(); + continue; + } + + int carSpeed = scanner.nextInt(); + scanner.nextLine(); + + if (carSpeed > 0 && carSpeed <= 250) { // Проверка диапазона скорости + Car car = new Car(carName, carSpeed); + cars.add(car); + break; + } + else { + System.out.println("Скорость должна быть от 0 до 250"); + } + + } + } + System.out.println("Список участников гоки: "); + for (Car car : cars){ + System.out.println(String.format("Название: %s, Скорость: %d", car.carName, car.carSpeed)); + } + Race race = new Race(); + + Car leader = race.getLeader(cars); + System.out.println("Самая быстрая машина: " + leader.carName); + + } } \ 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..18b108e1d --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,21 @@ +import java.util.ArrayList; + +public class Race { + int raceResult(int speed){ + speed *= 24; + return speed; + } + + Car getLeader(ArrayList cars){ + Car leader = cars.get(0); + int raceDistance = raceResult(leader.carSpeed); + for (Car car : cars){ + int distance = raceResult(car.carSpeed); + if (distance > raceDistance){ + raceDistance = distance; + leader = car; + } + } + return leader; + } +} From cd86fe1116d800ebef0933055621e4b346dce11e Mon Sep 17 00:00:00 2001 From: aegorovnurtelecom-alt Date: Thu, 25 Dec 2025 16:09:55 +0600 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=80=D1=83=D1=87=D0=BD=D0=BE=D0=B9=20=D0=B2=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BA=D0=BE=D0=BB=D0=BB=D0=B8=D1=87=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=B0=20=D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 12 ++++----- src/main/java/Main.java | 58 +++++++++++++++++++++++++---------------- src/main/java/Race.java | 17 ++++++------ 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index cdbfb31bb..b5430f2c8 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,9 +1,9 @@ public class Car { - String carName; - int carSpeed; + String name; + int speed; - Car(String carName, int carSpeed){ - this.carName = carName; - this.carSpeed = carSpeed; + Car(String name, int speed){ + this.name = name; + this.speed = speed; } -} +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 42ae185f2..12af97d13 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,44 +3,58 @@ public class Main { public static void main(String[] args) { + + Race race = new Race(); Scanner scanner = new Scanner(System.in); ArrayList cars = new ArrayList<>(); - for (int i = 1; i < 4; i++) { - System.out.println(String.format("Введите название %d автомобиля: ", i)); - String carName = scanner.nextLine(); + int raceParticipants; - while (true) { - System.out.println(String.format("Введите скорость %d автомобиля: ", i)); - - if (!scanner.hasNextInt()){ // Проверка на ввод не цифр - System.out.println("Скорость должна быть целым числом"); + while (true) { + System.out.println("Введите количество участников: "); + if (!scanner.hasNextInt()) { + System.out.println("Ошибка ввода"); scanner.next(); - continue; } + else { + raceParticipants = scanner.nextInt(); + scanner.nextLine(); + break; + } + } + + for (int i = 1; i <= raceParticipants; i++) { + + System.out.println(String.format("Введите название %d машины: ", i)); + String name = scanner.nextLine(); - int carSpeed = scanner.nextInt(); + while (true){ + System.out.println(String.format("Введите скорость %d машины: ", i)); + if (!scanner.hasNextInt()){ + System.out.println("Ошибка - Скорость должна быть целым числом"); + scanner.next(); + continue; + } + + int speed = scanner.nextInt(); scanner.nextLine(); - if (carSpeed > 0 && carSpeed <= 250) { // Проверка диапазона скорости - Car car = new Car(carName, carSpeed); + if (speed > 0 && speed <= 250){ + Car car = new Car(name, speed); cars.add(car); break; } else { - System.out.println("Скорость должна быть от 0 до 250"); + System.out.println("Ошибка - Скорость должна быть выше 0 и меньше 251"); } - } } - System.out.println("Список участников гоки: "); - for (Car car : cars){ - System.out.println(String.format("Название: %s, Скорость: %d", car.carName, car.carSpeed)); - } - Race race = new Race(); - - Car leader = race.getLeader(cars); - System.out.println("Самая быстрая машина: " + leader.carName); + System.out.println("Список участников гонки: "); + for (Car getCar : cars) { + System.out.println(String.format("Название - %s; Скорсть - %d", getCar.name, getCar.speed)); + } + Car winner = race.getLeader(cars); + System.out.println("Победитель " + winner.name); } } \ No newline at end of file diff --git a/src/main/java/Race.java b/src/main/java/Race.java index 18b108e1d..dacc0c37f 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,21 +1,22 @@ import java.util.ArrayList; public class Race { - int raceResult(int speed){ - speed *= 24; - return speed; + + int calculateDistance(int speed){ + return speed * 24; } Car getLeader(ArrayList cars){ Car leader = cars.get(0); - int raceDistance = raceResult(leader.carSpeed); + int leaderDistance = calculateDistance(leader.speed); + for (Car car : cars){ - int distance = raceResult(car.carSpeed); - if (distance > raceDistance){ - raceDistance = distance; + int distance = calculateDistance(car.speed); + if (distance > leaderDistance){ + leaderDistance = distance; leader = car; } } return leader; } -} +} \ No newline at end of file