From 3a90091c95ecd77911b52e041dc254227af06c3e Mon Sep 17 00:00:00 2001 From: Nikita Smirnov Date: Wed, 17 Jul 2024 16:28:48 +0500 Subject: [PATCH 1/3] Java task. Car race. --- src/main/java/Car.java | 9 +++++++++ src/main/java/Main.java | 39 ++++++++++++++++++++++++++++++++++++--- src/main/java/Race.java | 16 ++++++++++++++++ 3 files changed, 61 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 00000000..6e74ab85 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String name; + int speed; + + Car(String name, int speed) { + this.name = name; + this.speed = speed; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c43..ea4f0734 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,41 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + Race race = new Race(); + Car car; + Scanner scanner = new Scanner(System.in); + + System.out.println("Введите участников:"); + + + for (int i = 0; i < 3; i++) { + int carNumber = i + 1; + String carName = ""; + int carSpeed = 0; + + System.out.println("Введите название машины №" + carNumber + ":"); + carName = scanner.next(); + + + + while (true) { + System.out.println("Введите скорость машины №" + carNumber + ":"); + carSpeed = scanner.nextInt(); + + if (carSpeed > 250 || carSpeed < 0) { + System.out.println("Неверная скорость машины, попробуйте еще раз. " + + "Значение от 0 до 250."); + } else { + break; + } + } + + car = new Car(carName, carSpeed); + race.calculateDistance(car); + } + + System.out.println("Самая быстрая машина: " + race.winnerName); } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 00000000..e1cb1bb7 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,16 @@ +public class Race { + String winnerName = ""; + int distance = 0; + int winnerDistance = 0; + int time = 24; + + public void calculateDistance(Car car) { + + distance = time * car.speed; + + if (distance > winnerDistance) { + winnerDistance = distance; + winnerName = car.name; + } + } +} From 16217816907de8e17b9138e33f3e7f7fabe62897 Mon Sep 17 00:00:00 2001 From: Nikita Smirnov Date: Wed, 17 Jul 2024 16:30:33 +0500 Subject: [PATCH 2/3] Java task. Car race. --- src/main/java/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index ea4f0734..14ca9f72 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -12,8 +12,8 @@ public static void main(String[] args) { for (int i = 0; i < 3; i++) { int carNumber = i + 1; - String carName = ""; - int carSpeed = 0; + String carName; + int carSpeed; System.out.println("Введите название машины №" + carNumber + ":"); carName = scanner.next(); From 5d1683526713b2fdb6bfd441c51144a533aec209 Mon Sep 17 00:00:00 2001 From: Nikita Smirnov Date: Thu, 18 Jul 2024 12:19:09 +0500 Subject: [PATCH 3/3] Fixed InputMismatchException and fields modificators. --- src/main/java/Car.java | 4 ++-- src/main/java/Main.java | 23 +++++++++++++---------- src/main/java/Race.java | 12 ++++++++---- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index 6e74ab85..4fccc3dc 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,6 +1,6 @@ public class Car { - String name; - int speed; + final String name; + final int speed; Car(String name, int speed) { this.name = name; diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 14ca9f72..9024f074 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,3 +1,4 @@ +import java.util.InputMismatchException; import java.util.Scanner; public class Main { @@ -18,17 +19,19 @@ public static void main(String[] args) { System.out.println("Введите название машины №" + carNumber + ":"); carName = scanner.next(); - - while (true) { System.out.println("Введите скорость машины №" + carNumber + ":"); - carSpeed = scanner.nextInt(); - - if (carSpeed > 250 || carSpeed < 0) { - System.out.println("Неверная скорость машины, попробуйте еще раз. " + - "Значение от 0 до 250."); - } else { - break; + try { + carSpeed = scanner.nextInt(); + if (carSpeed > 250 || carSpeed < 0) { + System.out.println("Неверная скорость машины, попробуйте еще раз. " + + "Значение от 0 до 250."); + } else { + break; + } + } catch (InputMismatchException ex) { + System.out.println("Нужно ввести число."); + scanner.nextLine(); } } @@ -36,6 +39,6 @@ public static void main(String[] args) { race.calculateDistance(car); } - System.out.println("Самая быстрая машина: " + race.winnerName); + System.out.println("Самая быстрая машина: " + race.getWinnerName()); } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java index e1cb1bb7..731cfb4a 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,8 +1,12 @@ public class Race { - String winnerName = ""; - int distance = 0; - int winnerDistance = 0; - int time = 24; + private String winnerName = ""; + private int distance = 0; + private int winnerDistance = 0; + private int time = 24; + + public String getWinnerName() { + return winnerName; + } public void calculateDistance(Car car) {