diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..f4a877448 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,41 @@ +import java.util.Objects; + +public final class Car { + private final String name; + private final double speed; + + public Car(String name, double speed) { + this.name = name; + this.speed = speed; + } + + public String name() { + return name; + } + + public double speed() { + return speed; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) return true; + if (obj == null || obj.getClass() != this.getClass()) return false; + var that = (Car) obj; + return Objects.equals(this.name, that.name) && + Double.doubleToLongBits(this.speed) == Double.doubleToLongBits(that.speed); + } + + @Override + public int hashCode() { + return Objects.hash(name, speed); + } + + @Override + public String toString() { + return "Car[" + + "name=" + name + ", " + + "speed=" + speed + ']'; + } + +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..f63320415 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,37 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + String name; + int i = 3; + Car[] cars = new Car[i]; + int speed; + + Scanner scanner = new Scanner(System.in); +for (i = 0; i < 3; i++) { + System.out.println("Название машины № " + (i + 1) + ":"); + name = scanner.next(); + + + while (true) { + System.out.println("Скорость машины № " + (i + 1) + " в км/ч:"); + if(!scanner.hasNextInt()) { + speed = scanner.nextInt(); + System.out.println("Введите целочисленное значение."); + + } else speed = scanner.nextInt(); + if (speed <= 250 && speed > 0) { + break; + } + System.out.println("Введено некорректное значение скорости."); + } + cars[i] = new Car(name, speed); +} + Race race = new Race(); + race.determineLeader(cars); + + Car leader = race.getLeader(); + System.out.println("Самая быстрая машина: " + leader.name()); + scanner.close(); } } \ 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..9742b5fdd --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,18 @@ +public class Race { + private Car leader; + + public void determineLeader(Car[] cars) { + double maxDistance = 0; + + for (Car car : cars) { + double distance = car.speed() * 24; + if (distance > maxDistance) { + maxDistance = distance; + leader = car; + } + } + } + public Car getLeader() { + return leader; + } +}