Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions src/main/java/Auto.java
Original file line number Diff line number Diff line change
@@ -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;

}
}
50 changes: 48 additions & 2 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
}
}
24 changes: 24 additions & 0 deletions src/main/java/Rennen.java
Original file line number Diff line number Diff line change
@@ -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;
}
}