diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..97b3604cc --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,15 @@ +public class Car { + protected final String name; + protected final int speed; + protected final int distance; + + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + this.distance = speed * 24; + } + + public int getDistance() { + return this.distance; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..267737ecc 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,45 @@ +import java.util.ArrayList; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + final int MIN_SPEED = 0; + final int MAX_SPEED = 250; + System.out.println("\nДобро пожаловать на \"24 часа Ле-Ман!\""); + Race race = new Race(); + //input part + Scanner scan = new Scanner(System.in); + String name = ""; + int speed = 0; + for (int i = 1; i <= 3; i++) { + System.out.println("Введите марку " + i + " машины: "); + name = scan.next(); + while (true) { + System.out.println("Введите скорость " + i + " машины (км/ч): "); + String input = scan.next(); + try { + speed = Integer.parseInt(input); + if (speed> MIN_SPEED && speed < MAX_SPEED) { + break; + } else { + System.out.println("Введена неверная скорость, повторите ввод [1..249]: "); + } + } catch (NumberFormatException e) { + System.out.println("Введена неверная скорость, требуется число: "); + } + } + race.stint(new Car(name, speed)); //racing + } + scan.close(); + //results part + ArrayList winners = race.getWinners(); + if (winners.size() == 1) { + System.out.print("\n\nСамая быстрая машина: " + winners.get(0).name + "!"); + } else { + System.out.print("\n\nФотофиниш!\n"); + for (Car winCars : winners) { + System.out.println("Марка: " + winCars.name + ", скорость: " + winCars.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..334f2a0c0 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,27 @@ +import java.util.ArrayList; +import java.util.Iterator; + +public class Race { + protected ArrayList winners = new ArrayList(); + protected int maxDistance; + + public Race() { + this.maxDistance = 0; + this.winners.add(new Car("noname", 0)); + } + + public void stint(Car racer) { + if (racer.distance> this.maxDistance) { + this.maxDistance = racer.distance; + ; + this.winners.clear(); + this.winners.add(racer); + } else if (racer.distance == this.maxDistance) { + this.winners.add(racer); + } + } + + public ArrayList getWinners() { + return this.winners; + } +} \ No newline at end of file

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