import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
Race race = new Race();
while (true) {
int choice = getChoice();
switch (choice) {
case 1:
Car car = getCarFromInput();
race.addCar(car);
System.out.println("ÐвÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½.");
break;
case 2:
List carList = getCarsFromInput();
race.addCars(carList);
System.out.println("ÐвÑомобили добавленÑ.");
break;
case 3:
Car leader = race.getLeader();
if (leader != null) {
System.out.println("ТекÑÑий лидеÑ: " + leader);
} else {
System.out.println("ÐÑе Ð½ÐµÑ Ð°Ð²Ñомобилей в гонке.");
}
break;
case 0:
System.out.println("ÐÑÑ
од из пÑогÑаммÑ.");
scanner.close();
return;
default:
System.out.println("ÐевеÑнÑй вÑбоÑ. ÐопÑобÑйÑе еÑе Ñаз.");
}
}
}
private static Car getCarFromInput() {
String carName;
int carSpeed;
System.out.print("ÐведиÑе название авÑомобилÑ: ");
carName = scanner.nextLine();
while (true) {
System.out.print("ÐведиÑе ÑкоÑоÑÑÑ Ð°Ð²ÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ (0-250): ");
if (scanner.hasNextInt()) {
carSpeed = scanner.nextInt();
scanner.nextLine(); // Consume the newline
if (carSpeed >= 0 && carSpeed <= 250) {
break; // Correct speed, exit loop
} else {
System.out.println("ÐепÑавилÑÐ½Ð°Ñ ÑкоÑоÑÑÑ. ÐожалÑйÑÑа, введиÑе знаÑение Ð¾Ñ 0 до 250.");
}
} else {
System.out.println("ÐевеÑнÑй ввод. ÐожалÑйÑÑа, введиÑе Ñелое ÑиÑло.");
scanner.next(); // Consume the invalid input
}
}
return new Car(carName, carSpeed);
}
private static List getCarsFromInput() {
List carList = new ArrayList<>();
System.out.print("ÐведиÑе колиÑеÑÑво авÑомобилей Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ: ");
int numberOfCars;
while (true) {
if(scanner.hasNextInt()) {
numberOfCars = scanner.nextInt();
scanner.nextLine();
if(numberOfCars > 0) {
break;
} else {
System.out.println("ÐепÑавилÑнÑй ввод. ÐожалÑйÑÑа, введиÑе ÑиÑло болÑÑе 0");
}
} else {
System.out.println("ÐевеÑнÑй ввод. ÐожалÑйÑÑа, введиÑе Ñелое ÑиÑло.");
scanner.next(); // Consume the invalid input
}
}
for(int i = 0; i < numberOfCars; i++) {
carList.add(getCarFromInput());
}
return carList;
}
private static int getChoice() {
int choice;
while (true) {
System.out.println("\nÐÑбеÑиÑе дейÑÑвие:");
System.out.println("1. ÐобавиÑÑ Ð°Ð²ÑомобилÑ");
System.out.println("2. ÐобавиÑÑ ÑпиÑок авÑомобилей");
System.out.println("3. ÐоказаÑÑ ÑекÑÑего лидеÑа");
System.out.println("0. ÐÑÑ
од");
System.out.print("ÐÐ°Ñ Ð²ÑбоÑ: ");
if(scanner.hasNextInt()) {
choice = scanner.nextInt();
scanner.nextLine(); // Consume the newline
break;
} else {
System.out.println("ÐевеÑнÑй ввод. ÐожалÑйÑÑа, введиÑе Ñелое ÑиÑло.");
scanner.next(); // Consume the invalid input
}
}
return choice;
}
}