diff --git a/src/main/java/Auto.java b/src/main/java/Auto.java new file mode 100644 index 000000000..7dc2b3e62 --- /dev/null +++ b/src/main/java/Auto.java @@ -0,0 +1,19 @@ + +public class Auto { + String name; // наши переменные + int speed; + + public Auto(String name, int speed) { // конструктор, нужен ли он?.. + this.name = name; + this.speed = speed; + } + + public String getName(){ + return name; + } + + public int getSpeed(){ + return speed; + + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..eab0bd778 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,52 @@ +import java.util.Scanner; + public class Main { -public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + + Rennen rennen = new Rennen(); // создаем обьект гонки + + + System.out.println("Поздравляем!Вы почетный участник гонки года."); + + for (int i = 1; i <= 3; i++) { // нам нужно только три авто + System.out.print("Введите название автомобиля " + i); + String name = scanner.nextLine(); // считываем строку + + // Проверка на пустое название + while (name.isEmpty()) { + System.out.print("Ай-яяй.Пустой ввод.Введите название автомобиля с помощью букв."); + name = scanner.nextLine(); // считываем строку + } + + int speed = checkSpeed(scanner, i); // наш метод + Auto auto = new Auto(name, speed); // передаем имя и скорость + rennen.newWinner(auto); // передаем в гонку название авто + } + + + System.out.println("Лидер гонки: " + rennen.getWinnerName()); // используем метод для имени,потому что имя победителя находится не здесь + + scanner.close(); // очистка данных + } + + static int checkSpeed(Scanner scanner, int autoNumber) { // метод на корректность ввода скорости + while (true) { + System.out.print("Введите скорость машины " + autoNumber +" целым числом в диапазоне 0-250 км/ч"); + + if (scanner.hasNextInt()) { // проверяем, целое число и предотвращаем исключение + int speed = scanner.nextInt(); + scanner.nextLine(); // считываем строку и только числа! + + if (speed > 0 && speed <= 250) { + return speed; + } else { + System.out.println("Некорректное значение скорости,дружище!Скорость должна быть в диапазоне 0-250 !"); + } + } else { + System.out.println("Неверный ввод,какая грусть.Введите целое число."); + scanner.nextLine(); + } + } } } \ No newline at end of file diff --git a/src/main/java/Rennen.java b/src/main/java/Rennen.java new file mode 100644 index 000000000..ed431d18a --- /dev/null +++ b/src/main/java/Rennen.java @@ -0,0 +1,24 @@ + +class Rennen { + String winner; // потенциальный победитель + int wegWinner; // расстояние + + Rennen() { + this.winner = ""; // начальное значение + this.wegWinner = 0; + } + + void newWinner(Auto auto) { // метод поиска победителя + int weg = 24 * auto.getSpeed(); // используем геттер, описанный в Auto + + + if (weg > wegWinner) { // ищем максимальную дистанцию + wegWinner = weg; + winner = auto.getName();// тоже используем геттер. + } + } + + public String getWinnerName() { // метод для получения имени победителя + return winner; + } +}