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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# Пустой репозиторий для работы с Java кодом в Android Studio
# 24 часа Ле-Мана
9 changes: 9 additions & 0 deletions src/main/java/Car.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
public class Car {
String name;
int velocity;

Car(String name, int velocity) {
this.name = name;
this.velocity = velocity;
}
}
49 changes: 48 additions & 1 deletion src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
Race race = new Race();

Scanner scanner = new Scanner(System.in);

//1.Запрашиваем у пользователя 3 автомобиля, каждый из которых имеет два параметра: название и скорость.
for (int i=0; i < 3; i++) {
System.out.println("— Введите название машины №" + (i+1));
String name;
while(true) {
name = scanner.nextLine();
if (name.trim().isEmpty()) {
System.out.println("(!) Неверное название машины №" + (i+1) + ". Повторите ввод");
} else if(race.contains(name)) {
System.out.println("(!) Неверное название машины №" + (i + 1) + ". Машина с таким названием уже существует. Введите другое название");
} else {
break;
}
}

//2.После ввода данных пользователем проверяем, что введённая скорость >0 и ⩽250. Если скорость ввели неверно, программа должна запросить эти данные заново.
System.out.println("— Введите скорость машины №" + (i + 1));
String stringVelocity;
int velocity;
while (true) {
stringVelocity = scanner.nextLine();
try {
velocity = Integer.parseInt(stringVelocity.trim());
}
catch (NumberFormatException e) {
velocity = 0;
}

if (velocity <= 0 || velocity > 250) {
System.out.println("(!) Неверная скорость, введите целочисленное значение от 1 до 250");
} else {
break;
}
}

race.cars.add(new Car(name, velocity));
}

//3.После успешного ввода рассчитываем, сколько километров за 24 часа смог проехать каждый участник гонки (автомобиль), и запоминаем лидера.
race.findLeader();

//4.Выводим название автомобиля-лидера в консоль
System.out.println("Самая быстрая машина: '" + race.leader.name + "'");
}
}
23 changes: 23 additions & 0 deletions src/main/java/Race.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import java.util.ArrayList;

public class Race {
ArrayList<Car> cars = new ArrayList<>();
Car leader;

//После успешного ввода рассчитываем, сколько километров за 24 часа смог проехать каждый участник гонки (автомобиль), и запоминаем лидера.
public void findLeader() {
int greatest = 0;
for (Car car : cars) {
int passedIn24 = car.velocity*24;
if (passedIn24 > greatest) {
greatest = passedIn24;
leader = car;
}
}
}

public boolean contains(String name){
return cars.stream().anyMatch(o -> o.name.equals(name));
}

}