From 47244f2f1dc34bd934fffb78253b105072d7f0d8 Mon Sep 17 00:00:00 2001 From: xVerlink Date: 2024年12月15日 21:10:54 +0300 Subject: [PATCH 1/2] Lab 1, commit 1 --- src/main/java/Car.java | 17 +++++++++++++++++ src/main/java/Main.java | 30 ++++++++++++++++++++++++++++-- src/main/java/Race.java | 22 ++++++++++++++++++++++ 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Car.java create mode 100644 src/main/java/Race.java diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..7c1c93606 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,17 @@ +class Car { + private final String name; + private final int speed; + + Car(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..6ca118683 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,32 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + + for (int i = 1; i <= 3; i++) { + System.out.printf("Введите название машины No%d:%n", i); + String name = scanner.nextLine(); + int speed; + + while (true) { + System.out.printf("Введите скорость машины No%d:%n", i); + Scanner speedScanner = new Scanner(System.in); + if (speedScanner.hasNextInt()) { + speed = speedScanner.nextInt(); + if (speed> 0 && speed <= 250) { + break; + } else { + System.out.println("Неправильная скорость"); + } + } else { + System.out.println("Введенная строка не является числом"); + } + } + + Race.CARS_LIST.add(new Car(name, speed)); + } + scanner.close(); + Race.start(); } -} \ No newline at end of file +} diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 000000000..33a8bc2e4 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,22 @@ +import java.util.ArrayList; + +class Race { + private static Car leader; + static final ArrayList CARS_LIST = new ArrayList(); + + static void start() { + int maxDistance = 0; + for (Car car : CARS_LIST) { + int distance = car.getSpeed() * 24; + if (distance> maxDistance) { + maxDistance = distance; + leader = car; + } + } + printWinner(); + } + + private static void printWinner() { + System.out.println("Самая быстрая машина: " + leader.getName()); + } +} From 3c92cef3e091327ab7caab86aab93ef3e09e1b1f Mon Sep 17 00:00:00 2001 From: xVerlink Date: 2024年12月18日 23:26:17 +0300 Subject: [PATCH 2/2] Lab 1, commit 1 --- src/main/java/Car.java | 15 +++++++++++---- src/main/java/Main.java | 7 +++---- src/main/java/Race.java | 23 ++++++++++------------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/main/java/Car.java b/src/main/java/Car.java index 7c1c93606..307f01249 100644 --- a/src/main/java/Car.java +++ b/src/main/java/Car.java @@ -1,6 +1,8 @@ class Car { - private final String name; - private final int speed; + private String name; + private int speed; + final static int MIN_SPEED = 0; + final static int MAX_SPEED = 250; Car(String name, int speed) { this.name = name; @@ -11,7 +13,12 @@ public String getName() { return name; } - public int getSpeed() { - return speed; + + public void setName(String name) { + this.name = name; + } + + public void setSpeed(int speed) { + this.speed = speed; } } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 6ca118683..fb568ec96 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -14,7 +14,7 @@ public static void main(String[] args) { Scanner speedScanner = new Scanner(System.in); if (speedScanner.hasNextInt()) { speed = speedScanner.nextInt(); - if (speed> 0 && speed <= 250) { + if (speed> Car.MIN_SPEED && speed <= Car.MAX_SPEED) { break; } else { System.out.println("Неправильная скорость"); @@ -23,10 +23,9 @@ public static void main(String[] args) { System.out.println("Введенная строка не является числом"); } } - - Race.CARS_LIST.add(new Car(name, speed)); + Race.setLeader(name, speed); } scanner.close(); - Race.start(); + Race.printWinner(); } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java index 33a8bc2e4..9cb3bd8fb 100644 --- a/src/main/java/Race.java +++ b/src/main/java/Race.java @@ -1,22 +1,19 @@ -import java.util.ArrayList; + class Race { - private static Car leader; - static final ArrayList CARS_LIST = new ArrayList(); + private static Car leader = new Car("", 0); + private static int maxDistance = 0; - static void start() { - int maxDistance = 0; - for (Car car : CARS_LIST) { - int distance = car.getSpeed() * 24; - if (distance> maxDistance) { - maxDistance = distance; - leader = car; - } + static void setLeader(String name, int speed) { + int distance = speed * 24; + if (distance> maxDistance) { + maxDistance = distance; + leader.setName(name); + leader.setSpeed(speed); } - printWinner(); } - private static void printWinner() { + static void printWinner() { System.out.println("Самая быстрая машина: " + leader.getName()); } }

AltStyle によって変換されたページ (->オリジナル) /