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 часа Ле-Мана» — консольное приложение, которое будет задавать вопросы в консоли, считывать пользовательский ввод и в результате выводить победителя гонки.
26 changes: 26 additions & 0 deletions src/main/java/Auto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
public class Auto {
String nameAuto;
int speedAuto;

public String getNameAuto() {
return nameAuto;
}

public void setNameAuto(String nameAuto) {
this.nameAuto = nameAuto;
}

public int getSpeedAuto() {
return speedAuto;
}

public boolean setSpeedAuto(int speedAuto) {//Содержит проверку, что пользователь ввел верную скорость
if (speedAuto >= 0 && speedAuto <= 250) {
this.speedAuto = speedAuto;
return true;
} else {
System.out.println("Неправильная скорость\nДоступные значения от 0 до 250");
return false;
}
}
}
36 changes: 35 additions & 1 deletion src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,40 @@
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
Scanner scanner = new Scanner(System.in);
Auto[] cars = new Auto[3]; //Создаю массив, так как известно окончательное количество участников (3 авто)

for (int i = 0; i < cars.length; i++) {
cars[i] = new Auto();
System.out.println("— Введите название машины №" + (i + 1) + ": ");
String name = scanner.nextLine();
cars[i].setNameAuto(name);

System.out.println(); // Добавляю пустую строку, чтобы создать отступ (как в примере в задании)

boolean validSpeed = false;
while (!validSpeed) {
System.out.println("— Введите скорость машины №" + (i + 1) + ": ");
if (scanner.hasNextInt()) {// Проверка ввода в нужном диапазоне описана в классе Auto
int speed = scanner.nextInt();
validSpeed = cars[i].setSpeedAuto(speed);

System.out.println(); // Добавляю пустую строку, чтобы создать отступ (как в примере в задании)

} else {
System.out.println("Скорость автомобиля введена неверно.\nВведите скорость целым числом.");
scanner.next();
}
}
scanner.nextLine(); // Очистка буфера после ввода int (так как остаётся символ \n после ввода пользователя)
// или лучше использовать Scanner scan = new Scanner(System.in).useLocale(Locale.US);
// scan.useDelimiter("\n");?
}
Race leman24 = new Race();
Auto raceLeader = leman24.findRaceLeader(cars);
System.out.println("Самая быстрая машина: " + raceLeader.getNameAuto());

scanner.close();
}
}
11 changes: 11 additions & 0 deletions src/main/java/Race.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
public class Race {
public Auto findRaceLeader(Auto[] cars) {
Auto raceLeader = cars[0]; // Начальнаю с предположения, что лидер гонки машина с индексом "0"
for (int i = 1; i < cars.length; i++) {
if (cars[i].getSpeedAuto() > raceLeader.getSpeedAuto()) {
raceLeader = cars[i];
}
}
return raceLeader;
}
}