From c199cbb2944fe9110776aee02609e21253adfaef Mon Sep 17 00:00:00 2001 From: ikos13_Xeon2-port Date: Tue, 5 Aug 2025 22:04:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D0=B0=D1=82=20=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=E2=84=96=201?= =?UTF-8?q?=20(=D0=A1=D0=BF=D1=80=D0=B8=D0=BD=D1=82=20=E2=84=96=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 145 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 142 insertions(+), 3 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..a2806c7ca 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,145 @@ - +package org.example; +import java.util.Scanner; public class Main { + public static void main(String[] args) { - System.out.println("Hello world!"); + + Scanner scanner = new Scanner(System.in); + + Rase calculateLider = new Rase(); + + Automobil moskvich = new Automobil(null, 0); + while (true) { + System.out.println("Введите название машины №1:"); + moskvich.name = scanner.nextLine(); //без Line не реагирует на пустой ввод - точнее не завершает его + if (moskvich.name.isEmpty()) { + System.out.println("Название не должно быть пустым!"); + continue; // иначе break далее завершит цикл и программа перейдет к следующему блоку + } break; + } + while (true) { + System.out.println("Введите скорость машины №1:"); + + String notEnter = scanner.nextLine(); //для проверки пустого ввода значения скорости + (ниже с преобразователем) если значение не числовое + if (notEnter.isEmpty()) { + System.out.println("Значение скорости не должно быть пустым!"); + continue; + } + try { + moskvich.speed = Integer.parseInt(notEnter); // преобразуется только если было введено интовое значение (поэтому hasNextInt доп-но не нужен) + } catch (NumberFormatException e) { // вид ошибки преобразования, если строкове значение оказалось не интовое + System.out.println("Некорректное значение скорости! Введите целое число!"); + continue; + } + if (moskvich.speed < 0 || moskvich.speed > 250) { // вместо вложенного цикла объединил проверку по ним в одном + System.out.println("Скорость должна быть в диапазоне от 0 до 250!"); + continue; + } + break; + } + + calculateLider.newLider(moskvich.name, moskvich.speed); + + Automobil volga = new Automobil(null, 0); + while (true) { + System.out.println("Введите название машины №2:"); + volga.name = scanner.nextLine(); + if (volga.name.isEmpty()) { + System.out.println("Название не должно быть пустым!"); + continue; + } break; + } + while (true) { + System.out.println("Введите скорость машины №2:"); + + String notEnter = scanner.nextLine(); + if (notEnter.isEmpty()) { + System.out.println("Значение скорости не должно быть пустым!"); + continue; + } + try { + volga.speed = Integer.parseInt(notEnter); + } catch (NumberFormatException e) { + System.out.println("Некорректное значение скорости! Введите целое число!"); + continue; + } + if (volga.speed < 0 || volga.speed > 250) { + System.out.println("Скорость должна быть в диапазоне от 0 до 250!"); + continue; + } + break; + } + + calculateLider.newLider(volga.name, volga.speed); + + Automobil lada = new Automobil(null, 0); + while (true) { + System.out.println("Введите название машины №3:"); + lada.name = scanner.nextLine(); + if (lada.name.isEmpty()) { + System.out.println("Название не должно быть пустым!"); + continue; + } break; + } + while (true) { + System.out.println("Введите скорость машины №3:"); + + String notEnter = scanner.nextLine(); + if (notEnter.isEmpty()) { + System.out.println("Значение скорости не должно быть пустым!"); + continue; + } + try { + lada.speed = Integer.parseInt(notEnter); + } catch (NumberFormatException e) { + System.out.println("Некорректное значение скорости! Введите целое число!"); + continue; + } + if (lada.speed < 0 || lada.speed > 250) { + System.out.println("Скорость должна быть в диапазоне от 0 до 250!"); + continue; + } + break; + } + + calculateLider.newLider(lada.name, lada.speed); + + System.out.println("Самая быстрая машина: " + calculateLider.lider); + + scanner.close(); + } +} + +class Rase { + String lider; + int oldDistance; + + public Rase() { + this.lider = ""; + this.oldDistance = 0; + } + + void newLider (String name, int speed) { + int distance = speed*24; + if (lider.isEmpty()) { + lider = name; + oldDistance = distance; + } else { + if (distance > oldDistance) { + lider = name; + oldDistance = distance; + } + } + } + } + +class Automobil { + + String name; + int speed; + + public Automobil(String name, int speed) { + this.name = name; + this.speed = speed; } -} \ No newline at end of file + } \ No newline at end of file