From c94c362ce6934cacd4b1ba7fc81e73dc37d18ed5 Mon Sep 17 00:00:00 2001 From: LoLawliet Date: Tue, 5 Aug 2025 15:49:19 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=D1=8F=20=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 21 +++++++++++++++++++++ src/main/java/Main.java | 39 ++++++++++++++++++++++++++++++++++++--- src/main/java/Race.java | 23 +++++++++++++++++++++++ 3 files changed, 80 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 000000000..fc1e1b4c8 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,21 @@ +public class Car { + String name; + int speed; + + public Car(String name, int speed){ + this.name = name; + this.speed = speed; + } + + public String getName(){ + return name; + } + + public int getSpeed(){ + return speed; + } + + public int distance(){ + return speed*24; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..7225946d4 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,39 @@ +import java.util.Scanner; + +public class Main{ + public static void main(String[] args){ + + Scanner scanner = new Scanner(System.in); + Car[] cars = new Car[3]; + + for (int i = 0; i < 3; i++){ + System.out.println("Введите данные для автомобиля " + (i + 1) + ":"); + + System.out.println("Название: "); + String name = scanner.nextLine(); + + + boolean validSpeed = false; + while (!validSpeed){ + + System.out.println("Введите скорость от 1 до 250 км/ч: "); + String scanner1 = scanner.nextLine().trim(); + int speed = Integer.parseInt(scanner1); + if (speed > 0 && speed < 250){ + validSpeed = true; + cars[i] = new Car(name, speed); + break; + }else { + System.out.println("Скорость должна быть от 1 до 250 км/ч. Попробуйте еще раз. "); + } + } + + } + Race race = new Race(cars); + Car leader = race.getLeader(); + + System.out.println("Победититель: " + leader.getName()); -public class Main { - public static void main(String[] args) { - System.out.println("Hello world!"); } + } \ 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..28f26660b --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,23 @@ +class Race{ + + private Car[] cars; + private Car leader; + + public Race(Car[] cars){ + this.cars = cars; + selectLeader(); + } + + private void selectLeader(){ + leader = cars[0]; + for (int i = 1; i < cars.length; i++){ + if (cars[i].distance() > leader.distance()){ + leader = cars[i]; + } + } + } + + public Car getLeader(){ + return leader; + } +} From f20fffba9713b77e31b88072c0af9c72c076b3c1 Mon Sep 17 00:00:00 2001 From: LoLawliet Date: Fri, 8 Aug 2025 15:28:33 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=D1=8F=20=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 3 --- src/main/java/Main.java | 42 +++++++++++++++++++++++++++++++++-------- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index fc1e1b4c8..efab40ddf 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -11,9 +11,6 @@ public String getName(){ return name; } - public int getSpeed(){ - return speed; - } public int distance(){ return speed*24; diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 7225946d4..b1a5d8a6f 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -5,26 +5,52 @@ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); Car[] cars = new Car[3]; + String name = ""; + int speed = 0; for (int i = 0; i < 3; i++){ System.out.println("Введите данные для автомобиля " + (i + 1) + ":"); + boolean validName = false; - System.out.println("Название: "); - String name = scanner.nextLine(); + while (!validName) { + System.out.println("Введите название автомобиля:"); + name = scanner.nextLine().trim(); + if (name.isEmpty()) { + System.out.println("Вы ничего не ввели. Попробуйте еще раз"); + } else { + validName = true; + } + + } boolean validSpeed = false; - while (!validSpeed){ + while (!validSpeed) { System.out.println("Введите скорость от 1 до 250 км/ч: "); - String scanner1 = scanner.nextLine().trim(); - int speed = Integer.parseInt(scanner1); - if (speed > 0 && speed < 250){ + String scanner1 = ""; + boolean validScanner = false; + while (!validScanner){ + + scanner1 = scanner.nextLine().trim(); + if (scanner1.isEmpty()){ + System.out.println("Вы ничего не ввели. Попробуйте еще раз"); + System.out.println("Введите скорость от 1 до 250 км/ч: "); + } else { + validScanner = true; + } + } + try { + speed = Integer.parseInt(scanner1); + } catch (NumberFormatException e){ + System.out.println("Ошибка: Введите целое число"); + continue; + } + if (speed > 0 && speed < 250) { validSpeed = true; cars[i] = new Car(name, speed); - break; }else { - System.out.println("Скорость должна быть от 1 до 250 км/ч. Попробуйте еще раз. "); + System.out.println("Скорость должна быть от 1 до 250 км/ч. Попробуйте еще раз."); } }