import java.util.ArrayList;
import java.util.Scanner;
import entities.Car;
import entities.Race;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("\n"); //ЧÑÐ¾Ð±Ñ scanner.next() ÑиÑал не ÑолÑко до пÑобела, а вÑÑ ÑÑÑÐ¾ÐºÑ (Aston Martin, Alfa Romeo, Ford Mustang)
ArrayList participants = new ArrayList<>();
String anotherNameMessage = ", назовиÑе по-дÑÑгомÑ:";
String outOfSpeedRangeMessage = "ÐведиÑе знаÑение Ð¾Ñ 1 до 250:";
System.out.println("ÐÑивеÑÑÑвÑем Ð²Ð°Ñ Ð½Ð° наÑей гонке! Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ñ Ð½Ð°Ñ ÑÑое ÑÑаÑÑников, и ÑовÑем ÑкоÑо Ð¼Ñ Ñзнаем победиÑелÑ!");
//ÐлавнÑй Ñикл Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑаÑÑников
for (int i = 0; i < 3; i++) {
int position = i + 1;
//Ðлок ввода имени
System.out.println(String.format("ÐведиÑе авÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ Ð»Ð¸Ð±Ð¾ Ð¸Ð¼Ñ %dго ÑÑаÑÑника:", position));
String inputName;
//ÐÑи одинаковой ÑкоÑоÑÑи бÑÐ´ÐµÑ Ð½ÐµÑколÑко победиÑелей. ЧÑÐ¾Ð±Ñ Ð¸Ñ
ÑазлиÑаÑÑ, ÑеÑил ÑделаÑÑ Ð¸Ð¼Ñ ÑникалÑнÑм.
while (true) {
inputName = scanner.next().trim(); //ÐÑÐ¾Ð±ÐµÐ»Ñ Ð¿Ð¾ кÑаÑм ÑникалÑнÑм Ð¸Ð¼Ñ Ð½Ðµ делаÑÑ, пеÑепÑÑаÑÑ ÑакиÑ
ÑÑаÑÑников оÑÐµÐ½Ñ Ð¿ÑоÑÑо.
if (inputName.isEmpty())
System.out.println("ÐÐ¼Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм или ÑоÑÑоÑÑÑ Ð¸Ð· пÑобелов" + anotherNameMessage);
else {
boolean isSame = false;
for (Car current : participants) {
if (current.getName().equals(inputName)) {
isSame = true;
break;
}
}
if (!isSame) break;
else System.out.println("Такой ÑÑаÑÑник Ñже еÑÑÑ" + anotherNameMessage);
}
}
//Ðлок ввода ÑкоÑоÑÑи
System.out.println("ÐведиÑе ÑкоÑоÑÑÑ " + position + "го ÑÑаÑÑника:");
int inputSpeed;
//ÐÑовеÑка ÑкоÑоÑÑи на int и на ÑооÑвеÑÑÑвие диапазонÑ
while (true) {
if (scanner.hasNextInt()) {
inputSpeed = scanner.nextInt();
if (inputSpeed > 0 && inputSpeed <= 250) break;
else System.out.println(outOfSpeedRangeMessage);
} else {
String text = scanner.next();
if (text.matches("[0-9]+")) //Ðа ÑлÑÑай ввода ÑиÑла за пÑеделами int: 97314897227297497983024
System.out.println(outOfSpeedRangeMessage);
else
System.out.println("ÐедиÑе Ñелое ÑиÑло без лÑбÑÑ
дÑÑгиÑ
Ñимволов:"); //ÐÑÑ Ð¾ÑÑалÑное: 250 км/Ñ, 123.4 и Ñ.п.
}
}
//СпÑавилиÑÑ Ñ Ð²Ð²Ð¾Ð´Ð¾Ð¼, можно добавлÑÑÑ ÑÑаÑника
participants.add(new Car(inputName, inputSpeed));
}
//УÑаÑÑники гоÑовÑ, газÑем
System.out.println(new Race().getWinner(participants));
}
}