import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList carList = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
for(int i = 1; i<=3; i++) {
System.out.println("ÐведиÑе название маÑÐ¸Ð½Ñ â " + i);
String name = scanner.next();
int speed;
while (true) {
System.out.println("ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â " + i);
if (scanner.hasNextInt()) {
speed = scanner.nextInt();
if (speed > 0 && speed <= 250) {
break;
} else {
System.out.println("ÐÑ Ñказали непÑавилÑнÑÑ ÑкоÑоÑÑÑ. СкоÑоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð² диапазоне Ð¾Ñ 1 до 250.");
}
} else {
System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ некоÑÑекÑное знаÑение. ÐожалÑйÑÑа, введиÑе Ñелое ÑиÑло.");
scanner.next();
}
}
carList.add(new Car(name, speed));
}
Race race = new Race();
Car winner = race.calculateAndRememberWinner(carList);
System.out.println("ÐобедиÑелÑ: " + winner.name + " ÐиÑÑанÑиÑ: " + winner.distance);
}
}
class Car {
String name;
int speed;
int distance;
Car(String name, int speed) {
this.name = name;
this.speed = speed;
}
public int getDistance(){
return this.distance;
}
}
class Race {
int time = 24;
public Car calculateAndRememberWinner(ArrayList carList) {
for (Car car : carList) {
car.distance = time * car.speed;
}
carList.sort(Comparator.comparingInt(Car::getDistance).reversed());
return carList.get(0);
}
}
/*
ÐÑак, нам пÑедÑÑÐ¾Ð¸Ñ Ð¾Ð¿ÑеделиÑÑ Ð»Ð¸Ð´ÐµÑа гонки:
ÐапÑаÑиваем Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ 3 авÑомобилÑ, каждÑй из коÑоÑÑÑ
Ð¸Ð¼ÐµÐµÑ Ð´Ð²Ð° паÑамеÑÑа: название и ÑкоÑоÑÑÑ.
ÐоÑле ввода даннÑÑ
полÑзоваÑелем пÑовеÑÑем, ÑÑо введÑÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ >0 и ⩽250. ÐÑли ÑкоÑоÑÑÑ Ð²Ð²ÐµÐ»Ð¸ невеÑно, пÑогÑамма должна запÑоÑиÑÑ ÑÑи даннÑе заново.
ÐоÑле ÑÑпеÑного ввода ÑаÑÑÑиÑÑваем, ÑколÑко киломеÑÑов за 24 ÑаÑа Ñмог пÑоеÑ
аÑÑ ÐºÐ°Ð¶Ð´Ñй ÑÑаÑÑник гонки (авÑомобилÑ), и запоминаем лидеÑа.
ÐÑводим название авÑомобилÑ-лидеÑа в конÑÐ¾Ð»Ñ Ð² лÑбом понÑÑном ÑоÑмаÑе. ÐапÑимеÑ: Ð¡Ð°Ð¼Ð°Ñ Ð±ÑÑÑÑÐ°Ñ Ð¼Ð°Ñина: ÐоÑквиÑ.G
ÐбÑаÑиÑе внимание, ÑÑо в задании нÑжно иÑполÑзоваÑÑ ÑазнÑе клаÑÑÑ. ÐÑедлагаем ÑазделиÑÑ Ð²ÐµÑÑ ÐºÐ¾Ð´ на ÑÑи клаÑÑа:
ÐвÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ â обÑекÑ, ÑодеÑжаÑий в Ñебе паÑамеÑÑÑ Â«Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÂ» и «ÑкоÑоÑÑÑ».
Ðонка â клаÑÑ, в коÑоÑом ÑаÑÑÑиÑÑваеÑÑÑ Ð¸ запоминаеÑÑÑ Ð»Ð¸Ð´ÐµÑ.
Main â клаÑÑ, в коÑоÑом пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑÑиÑÑвание полÑзоваÑелÑÑкого ввода и коммÑникаÑÐ¸Ñ Ñ Ð¾ÑÑалÑнÑми клаÑÑами.
*/