From 228b57ac9a6faf4ee23019d656e5f377a5c7c5ef Mon Sep 17 00:00:00 2001 From: Lana Date: 2024年10月18日 21:29:21 +0300 Subject: [PATCH 1/5] Implemented race game --- src/main/java/Car.java | 15 +++++++++++++++ src/main/java/Main.java | 26 ++++++++++++++++++++++++-- src/main/java/Race.java | 19 +++++++++++++++++++ 3 files changed, 58 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..7000eae4c --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,15 @@ +public class Car { + private int speed = 0; + private String model = ""; + Car (int speed, String model) { + this.speed = speed; + this.model = model; + } + public int getSpeed() { + return this.speed; + } + + public String getModel() { + return this.model; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..03581b14c 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,28 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + Car carOne = getCarFromUser (scanner, 1); + Car carTwo = getCarFromUser (scanner, 2); + Car carThree = getCarFromUser (scanner, 3); + defineLeaderAndTextOut (carOne, carTwo, carThree); } -} \ No newline at end of file + public static Car getCarFromUser(Scanner scanner, int carNumber) { + System.out.println("Введите название машины No " + carNumber); + String carModel = scanner.next(); + System.out.println("Введите скорость машины No " + carNumber); + int carSpeed = Integer.parseInt(scanner.next()); + while (!((carSpeed> 0) && (carSpeed <= 250))) { + System.out.println("Введите корректную скорость машины No " + carNumber + "!"); + carSpeed = scanner.nextInt(); + } + return new Car(carSpeed, carModel); + } + public static void defineLeaderAndTextOut(Car one, Car two, Car three) { + Race race = new Race (); + Race.defineLeaderFromParticipants(one, two, three); + Car raceLeader = race.getLeader(); + System.out.println("Гонку выиграл автомобиль " + raceLeader.getModel()); + } +} diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 000000000..42adc2202 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,19 @@ +public class Race { + private static Car leader; + Race() {} + public static void defineLeaderFromParticipants(Car carOne, Car carTwo, Car carThree) { + if (carOne.getSpeed() * 24> carTwo.getSpeed() * 24) { + if (carOne.getSpeed() * 24> carThree.getSpeed() * 24) leader = carOne; + else { + leader = carThree; + } + } else if (carTwo.getSpeed() * 24> carThree.getSpeed() * 24) { + leader = carTwo; + } else { + leader = carThree; + } + } + public Car getLeader() { + return this.leader; + } +} \ No newline at end of file From ba25198c6b3974995a78a9d781178e3b71f3c176 Mon Sep 17 00:00:00 2001 From: Lana Date: 2024年10月18日 22:16:35 +0300 Subject: [PATCH 2/5] Added 5 string --- src/main/java/Main.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 03581b14c..c6ac549ac 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -2,6 +2,7 @@ public class Main { public static void main(String[] args) { + System.out.println("Hello world!"); Scanner scanner = new Scanner(System.in); Car carOne = getCarFromUser (scanner, 1); Car carTwo = getCarFromUser (scanner, 2); From b0989895d87813a0f49b561d59391ac96e24cbee Mon Sep 17 00:00:00 2001 From: Lana Date: 2024年10月20日 12:25:55 +0300 Subject: [PATCH 3/5] Added 5 string --- src/main/java/Car.java | 4 +++- src/main/java/Main.java | 12 +++++++----- src/main/java/Race.java | 8 ++++++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index 7000eae4c..9fbc235ac 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,10 +1,12 @@ public class Car { private int speed = 0; private String model = ""; - Car (int speed, String model) { + + Car(int speed, String model) { this.speed = speed; this.model = model; } + public int getSpeed() { return this.speed; } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c6ac549ac..14429bc24 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,11 +4,12 @@ public class Main { public static void main(String[] args) { System.out.println("Hello world!"); Scanner scanner = new Scanner(System.in); - Car carOne = getCarFromUser (scanner, 1); - Car carTwo = getCarFromUser (scanner, 2); - Car carThree = getCarFromUser (scanner, 3); - defineLeaderAndTextOut (carOne, carTwo, carThree); + Car carOne = getCarFromUser(scanner, 1); + Car carTwo = getCarFromUser(scanner, 2); + Car carThree = getCarFromUser(scanner, 3); + defineLeaderAndTextOut(carOne, carTwo, carThree); } + public static Car getCarFromUser(Scanner scanner, int carNumber) { System.out.println("Введите название машины No " + carNumber); String carModel = scanner.next(); @@ -20,8 +21,9 @@ public static Car getCarFromUser(Scanner scanner, int carNumber) { } return new Car(carSpeed, carModel); } + public static void defineLeaderAndTextOut(Car one, Car two, Car three) { - Race race = new Race (); + Race race = new Race(); Race.defineLeaderFromParticipants(one, two, three); Car raceLeader = race.getLeader(); System.out.println("Гонку выиграл автомобиль " + raceLeader.getModel()); diff --git a/src/main/java/Race.java b/src/main/java/Race.java index 42adc2202..7feb49f6d 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,6 +1,9 @@ public class Race { private static Car leader; - Race() {} + + Race() { + } + public static void defineLeaderFromParticipants(Car carOne, Car carTwo, Car carThree) { if (carOne.getSpeed() * 24> carTwo.getSpeed() * 24) { if (carOne.getSpeed() * 24> carThree.getSpeed() * 24) leader = carOne; @@ -13,7 +16,8 @@ public static void defineLeaderFromParticipants(Car carOne, Car carTwo, Car carT leader = carThree; } } + public Car getLeader() { return this.leader; } -} \ No newline at end of file +} From 20504ea7ae589dd5b3fbc5e35126496f9c37dd91 Mon Sep 17 00:00:00 2001 From: Lana Date: 2024年10月20日 12:33:42 +0300 Subject: [PATCH 4/5] changed welcome line --- src/main/java/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 14429bc24..7f2183b53 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -2,7 +2,7 @@ public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + System.out.println("Добро пожаловать в самую реалистичную гоночную игру!"); Scanner scanner = new Scanner(System.in); Car carOne = getCarFromUser(scanner, 1); Car carTwo = getCarFromUser(scanner, 2); From a0a51dc79319b4ecdaaa5fba74d9ce22e0a13123 Mon Sep 17 00:00:00 2001 From: Lana Date: 2024年10月21日 21:50:30 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 10 ++++---- src/main/java/Main.java | 51 +++++++++++++++++++++++++++++++---------- src/main/java/Race.java | 28 +++++++++++----------- 3 files changed, 57 insertions(+), 32 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index 9fbc235ac..297c12477 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,17 +1,17 @@ public class Car { - private int speed = 0; - private String model = ""; + private final int speed; + private final String model; - Car(int speed, String model) { + public Car(int speed, String model) { this.speed = speed; this.model = model; } public int getSpeed() { - return this.speed; + return speed; } public String getModel() { - return this.model; + return model; } } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 7f2183b53..bae81abd3 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,31 +1,58 @@ import java.util.Scanner; public class Main { + private static final int FIRST_CAR = 1; + private static final int SECOND_CAR = 2; + private static final int THIRD_CAR = 3; + private static final int MIN_SPEED = 0; + private static final int MAX_SPEED = 250; + public static void main(String[] args) { System.out.println("Добро пожаловать в самую реалистичную гоночную игру!"); Scanner scanner = new Scanner(System.in); - Car carOne = getCarFromUser(scanner, 1); - Car carTwo = getCarFromUser(scanner, 2); - Car carThree = getCarFromUser(scanner, 3); + + Car carOne = getCarFromUser(scanner, FIRST_CAR); + Car carTwo = getCarFromUser(scanner, SECOND_CAR); + Car carThree = getCarFromUser(scanner, THIRD_CAR); + defineLeaderAndTextOut(carOne, carTwo, carThree); } public static Car getCarFromUser(Scanner scanner, int carNumber) { - System.out.println("Введите название машины No " + carNumber); - String carModel = scanner.next(); - System.out.println("Введите скорость машины No " + carNumber); - int carSpeed = Integer.parseInt(scanner.next()); - while (!((carSpeed> 0) && (carSpeed <= 250))) { - System.out.println("Введите корректную скорость машины No " + carNumber + "!"); - carSpeed = scanner.nextInt(); + String carModel = ""; + boolean isValid = false; + + while (!isValid) { + System.out.println("Введите название машины No " + carNumber); + carModel = scanner.nextLine().trim(); + if (!carModel.isEmpty()) { + isValid = true; + } else { + System.err.println("Ошибка: Недопустимое название автомобиля. Пожалуйста, попробуйте снова."); + } } + + int carSpeed; + System.out.println("Введите скорость машины No " + carNumber); + do { + try { + carSpeed = Integer.parseInt(scanner.nextLine()); + if (carSpeed < MIN_SPEED || carSpeed> MAX_SPEED) { + System.out.println("Введите корректную скорость машины No " + carNumber + "!"); + continue; + } + break; + } catch (NumberFormatException e) { + System.err.println("Ошибка ввода: скорость должна быть целым числом."); + } + } while (true); + return new Car(carSpeed, carModel); } public static void defineLeaderAndTextOut(Car one, Car two, Car three) { - Race race = new Race(); Race.defineLeaderFromParticipants(one, two, three); - Car raceLeader = race.getLeader(); + Car raceLeader = Race.getLeader(); System.out.println("Гонку выиграл автомобиль " + raceLeader.getModel()); } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java index 7feb49f6d..1ecdb1941 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,23 +1,21 @@ public class Race { - private static Car leader; + private static Car currentLeader; - Race() { - } - - public static void defineLeaderFromParticipants(Car carOne, Car carTwo, Car carThree) { - if (carOne.getSpeed() * 24> carTwo.getSpeed() * 24) { - if (carOne.getSpeed() * 24> carThree.getSpeed() * 24) leader = carOne; - else { - leader = carThree; - } - } else if (carTwo.getSpeed() * 24> carThree.getSpeed() * 24) { - leader = carTwo; + public static void defineLeaderFromParticipants(Car one, Car two, Car three) { + if (one.getSpeed()>= two.getSpeed() && one.getSpeed()>= three.getSpeed()) { + setLeader(one); + } else if (two.getSpeed()>= one.getSpeed() && two.getSpeed()>= three.getSpeed()) { + setLeader(two); } else { - leader = carThree; + setLeader(three); } } - public Car getLeader() { - return this.leader; + private static void setLeader(Car leader) { + currentLeader = leader; + } + + public static Car getLeader() { + return currentLeader; } }

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