From fb2662eebf7b23311f584d7a972564ad17ec60e0 Mon Sep 17 00:00:00 2001 From: ZhannaVell <6725475@gmail.com> Date: 2026年2月16日 22:21:16 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 20 ++++++++++++++++++++ src/main/java/Main.java | 42 +++++++++++++++++++++++++++++++++++++++-- src/main/java/Race.java | 27 ++++++++++++++++++++++++++ 3 files changed, 87 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..241b27773 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,20 @@ +public class Car { + private String name; + private 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 calculateDistance (){ + return speed*24; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..94874774d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,44 @@ +import java.util.InputMismatchException; +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(); + + System.out.println("Добро пожаловать в гонку!"); + System.out.println("Введите данные для трех автомобилей"); + for (int i = 0; i < 3; i++) { + System.out.println("Введите название автомобиля No " + (i + 1) + ":"); + String name = scanner.nextLine().trim(); + while (name.isEmpty()) { + System.out.println("Введите название автомобиля No " + (i + 1) + ":"); + name = scanner.nextLine().trim(); + + } + int speed = 0; + boolean validSpeed = false; + while (!validSpeed) { + System.out.println("Введите скорость автомобиля No " + (i + 1) + " (1-250 км/ч):"); + try { + speed = scanner.nextInt(); + if (speed> 0 && speed <= 250) { + validSpeed = true; + } else { + System.out.println("Ошибка: скорость должна быть от 1 до 250 км/ч. Попробуйте еще раз."); + } + } catch (InputMismatchException e) { + System.out.println("Ошибка: введите целое число. Попробуйте еще раз."); + scanner.next(); + } + } + scanner.nextLine(); + Car newCar = new Car(name, speed); + race.checkLeader(newCar); + } + 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..bc45b1732 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,27 @@ +public class Race { + private Car leader; + private int leaderDistance = 0; + void checkLeader(Car newCar){ + int newCarDistance = newCar.calculateDistance(); + if(leader == null) { + leader = newCar; + leaderDistance = newCarDistance; + }else{ + if(newCarDistance> leaderDistance) { + leader = newCar; + leaderDistance = newCarDistance; + + } + + } + } + + + + String getLeaderName(){ + if(leader !=null){ + return leader.getName(); + } + return "Нет победителя"; + } +} From ea9e75f7ecaa5c2d844f823b4f02c28b332c965f Mon Sep 17 00:00:00 2001 From: ZhannaVell <6725475@gmail.com> Date: 2026年2月17日 11:30:09 +0300 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?=201.=2024=20=D1=87=D0=B0=D1=81=D0=B0=20=D0=9B=D0=B5-=D0=9C?= =?UTF-8?q?=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 17 +++++-------- src/main/java/Main.java | 53 ++++++++++++++++++++++++----------------- src/main/java/Race.java | 35 +++++++++++++-------------- 3 files changed, 53 insertions(+), 52 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index 241b27773..203808f9c 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,20 +1,15 @@ public class Car { - private String name; - private int speed; + private static final int RACE_DURATION = 24; + public final String name; + public final 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 calculateDistance (){ - return speed*24; + return speed*RACE_DURATION; } } + + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 94874774d..8f6ef882e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -2,6 +2,9 @@ import java.util.Scanner; public class Main { + private static final int MIN_SPEED = 1; + private static final int MAX_SPEED = 250; + public static void main(String[] args) { Scanner scanner = new Scanner(System.in); @@ -10,35 +13,41 @@ public static void main(String[] args) { System.out.println("Добро пожаловать в гонку!"); System.out.println("Введите данные для трех автомобилей"); for (int i = 0; i < 3; i++) { - System.out.println("Введите название автомобиля No " + (i + 1) + ":"); + String name = readCarName(scanner, i + 1); + int speed = readCarSpeed(scanner, i + 1); + Car newCar = new Car(name, speed); + race.checkLeader(newCar); + } + System.out.println("Самая быстрая машина: " + race.getLeaderName()); + } + private static String readCarName(Scanner scanner, int carNumber) { + while (true) { + System.out.println("Введите название автомобиля No " + carNumber + ":"); String name = scanner.nextLine().trim(); - while (name.isEmpty()) { - System.out.println("Введите название автомобиля No " + (i + 1) + ":"); - name = scanner.nextLine().trim(); - + if (!name.isEmpty()) { + return name; } - int speed = 0; - boolean validSpeed = false; - while (!validSpeed) { - System.out.println("Введите скорость автомобиля No " + (i + 1) + " (1-250 км/ч):"); - try { - speed = scanner.nextInt(); - if (speed> 0 && speed <= 250) { - validSpeed = true; + System.out.println("Ошибка: Название не может быть пустым. Попробуйте еще раз."); + } + } + private static int readCarSpeed(Scanner scanner, int carNumber){ + while (true){ + System.out.println("Введите скорость автомобиля No " + carNumber + " (" + MIN_SPEED + "-" + MAX_SPEED + "км/ч):"); + try{ + int speed = scanner.nextInt(); + scanner.nextLine(); + if (speed>= MIN_SPEED && speed <= MAX_SPEED) { + return speed; } else { - System.out.println("Ошибка: скорость должна быть от 1 до 250 км/ч. Попробуйте еще раз."); + System.out.println("Ошибка: скорость должна быть от " + MIN_SPEED + " до " + MAX_SPEED + " км/ч. Попробуйте еще раз."); } } catch (InputMismatchException e) { - System.out.println("Ошибка: введите целое число. Попробуйте еще раз."); - scanner.next(); - } + System.out.println("Ошибка: введите целое число. Попробуйте еще раз."); + scanner.next(); + } } - scanner.nextLine(); - Car newCar = new Car(name, speed); - race.checkLeader(newCar); } - System.out.println("Самая быстрая машина: " + race.getLeaderName()); - } + } diff --git a/src/main/java/Race.java b/src/main/java/Race.java index bc45b1732..4c5c6ad23 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,27 +1,24 @@ public class Race { - private Car leader; - private int leaderDistance = 0; - void checkLeader(Car newCar){ - int newCarDistance = newCar.calculateDistance(); - if(leader == null) { + private Car leader; + private int leaderDistance = 0; + + public void checkLeader(Car newCar) { + int newCarDistance = newCar.calculateDistance(); + if (leader == null) { + leader = newCar; + leaderDistance = newCarDistance; + } else { + if (newCarDistance> leaderDistance) { leader = newCar; leaderDistance = newCarDistance; - }else{ - if(newCarDistance> leaderDistance) { - leader = newCar; - leaderDistance = newCarDistance; - - } - } } + } - - - String getLeaderName(){ - if(leader !=null){ - return leader.getName(); + public String getLeaderName() { + if (leader != null) { + return leader.name; + } + return "Нет победителя"; } - return "Нет победителя"; - } }

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