From b748884bebf8a44f20f26a944382a8e816d6312b Mon Sep 17 00:00:00 2001 From: Sviridov-Ivan Date: 2025年2月16日 11:29:03 +0500 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96?= =?UTF-8?q?1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 19 +++++++++++++++++++ src/main/java/Main.java | 38 ++++++++++++++++++++++++++++++++++++-- src/main/java/Race.java | 21 +++++++++++++++++++++ 3 files changed, 76 insertions(+), 2 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..4b4a7e220 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,19 @@ +public class Car { + String name; // наименование автомобиля + int speed; // скорость автомобиля + + // Конструктор класса "Автомобиль" + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } + public String getName() { + return name; + } + + // Метод для вычисления дистанции, которую автомобиль может проехать за 24 часа + public int calculationDistance() { + return speed * 24; // время (24 часа) * скорость (км/ч) + } +} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..e1f0ce88f 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,40 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + + Race race = new Race(); // Создаем объект гонки + Car car; // Объявляем переменную для автомобиля + + // Запрашиваем данные для трех автомобилей + for (int i = 1; i <= 3; i++) { + System.out.println("Введите данные для автомобиля " + i + ":"); + + // Считываем название автомобиля + System.out.print("Введите название автомобиля: "); + String name = scanner.nextLine(); + + // Считываем скорость автомобиля с проверкой + int speed = 0; + while (true) { + System.out.print("Введите скорость автомобиля (0 < скорость <= 250): "); + speed = scanner.nextInt(); + scanner.nextLine(); // Чтение лишнего символа новой строки + if (speed> 0 && speed <= 250) { + break; // Выход из цикла, если скорость корректна + } else { + System.out.println("Неверное значение скорости. Попробуйте снова."); + } + } + + // Создаем объект автомобиля и определяем лидера + car = new Car(name, speed); + race.determineLeader(car); + } + + // Выводим название лидера гонки + System.out.println("Самая быстрая машина: " + race.getLeaderName()); } -} \ 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..afc3f77ef --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,21 @@ +public class Race { + String currentLeaderName = ""; // имя текущего лидера гонки + + int leaderDistance = 0; // дистанция + + // Метод для определения нового лидера + public void determineLeader(Car car) { + int carDistance = car.calculationDistance(); + + + if (carDistance> leaderDistance) { // Проверяем, если новый автомобиль проедет больше, обновляем лидера + currentLeaderName = car.getName(); + leaderDistance = carDistance; + } + } + // Метод для получения имени лидера + public String getLeaderName() { + + return currentLeaderName; + } +} From cc113b11ed5a1d4c92d657903726b22ea1614135 Mon Sep 17 00:00:00 2001 From: Sviridov-Ivan Date: 2025年2月16日 19:29:44 +0500 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96?= =?UTF-8?q?1.=20=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index e1f0ce88f..24b1d69f1 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -11,23 +11,37 @@ public static void main(String[] args) { for (int i = 1; i <= 3; i++) { System.out.println("Введите данные для автомобиля " + i + ":"); - // Считываем название автомобиля - System.out.print("Введите название автомобиля: "); - String name = scanner.nextLine(); + // Считываем название автомобиля с проверкой на пустое значение + String name; + while (true) { + System.out.print("Введите название автомобиля: "); + name = scanner.nextLine().trim(); // Убираем возможные пробелы в начале и в конце + if (!name.isEmpty()) { + break;// Если имя не пустое, выходим из цикла + } else { + System.out.println("Название не может быть пустым. Попробуйте снова"); + } + } // Считываем скорость автомобиля с проверкой - int speed = 0; + int speed; while (true) { System.out.print("Введите скорость автомобиля (0 < скорость <= 250): "); - speed = scanner.nextInt(); - scanner.nextLine(); // Чтение лишнего символа новой строки - if (speed> 0 && speed <= 250) { - break; // Выход из цикла, если скорость корректна + + if (scanner.hasNextInt()) { // Проверка на введение числа + speed = scanner.nextInt(); + scanner.nextLine(); // Чтение лишнего символа новой строки + + if (speed> 0 && speed <= 250) { + break; // Выход из цикла, если скорость корректна + } else { + System.out.println("Неверное значение скорости. Попробуйте снова."); + } } else { - System.out.println("Неверное значение скорости. Попробуйте снова."); + System.out.println("Ввод некорректен! Введите целое число для скорости."); + scanner.nextLine(); } } - // Создаем объект автомобиля и определяем лидера car = new Car(name, speed); race.determineLeader(car);

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