From 79b9bcafe5c19c8600fe5c52c59c6c98de3eb4c1 Mon Sep 17 00:00:00 2001 From: Jalecti Date: 2025年12月12日 07:55:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=82=D0=B5=D1=85=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D1=83=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8E?= =?UTF-8?q?=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82=D0=B0=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- src/main/java/Car.java | 9 +++++++ src/main/java/Main.java | 58 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 14 ++++++++++ 4 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Car.java create mode 100644 src/main/java/Race.java diff --git a/README.md b/README.md index 63be1bfe0..9d4fbad67 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# Пустой репозиторий для работы с Java кодом в Android Studio +# Не пустой репозиторий для работы с Java кодом в Android Studio diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..1ec479c7f --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String name; + int speed; + + public 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 db9356a08..010bc3ef5 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,62 @@ +import java.util.Scanner; public class Main { + public static void main(String[] args) { - System.out.println("Hello world!"); + String greeting = "Здравствуйте! Вас приветствует консольное приложение '24 часа Ле-Мана'!\n" + + "Для определения лидера гонки введите данные %d автомобилей"; + Scanner scanner = new Scanner(System.in); + + int participantCount = 3; + Race race = new Race(); + + System.out.println("=".repeat(greeting.length())); + System.out.printf((greeting) + "%n", participantCount); + + for (int i = 1; i <= participantCount; ++i) { + + System.out.println("Введите название машины No" + i); + String name = scanCarName(scanner); + + System.out.println("Введите скорость машины No" + i); + int speed = scanCarSpeed(scanner); + + race.processParticipant(new Car(name, speed)); + } + + System.out.println("Самая быстрая машина: " + race.leaderName); + + System.out.println("=".repeat(greeting.length())); + } + + private static String scanCarName(Scanner scanner) { + while (true) { + String name = scanner.nextLine(); + if (name.isBlank()) { + System.out.println("Название машины не может быть пустым, попробуйте еще раз"); + } else { + return name; + } + } + } + + private static int scanCarSpeed(Scanner scanner) { + while (true) { + int speed; + if (scanner.hasNextInt()) { + speed = scanner.nextInt(); + scanner.nextLine();//нужно, чтобы съедать символ переноса строки + } else { + System.out.println("Скорость должна быть указана в целочисленном типе, попробуйте еще раз"); + scanner.nextLine();//нужно, чтобы съедать символ переноса строки + continue; + } + + if (!(speed>=0 && speed <= 250)) { + System.out.println("Скорость машины должна быть в допустимом диапазоне от 0 до 250, попробуйте еще раз"); + } else { + return speed; + } + } } } \ 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..b38f64406 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,14 @@ + +public class Race { + + String leaderName = ""; + int leaderDistance = 0; + int time = 24; + public void processParticipant(Car participant) { + int participantDistance = participant.speed * time; + if (leaderDistance < participantDistance) { + leaderDistance = participantDistance; + leaderName = participant.name; + } + } +}

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