From 8ca4161d891ac59c6fc1eb2e4b471d646708179a Mon Sep 17 00:00:00 2001 From: formerFox Date: Sun, 1 Sep 2024 23:45:05 +0300 Subject: [PATCH 1/4] add classes Car, Race, change main --- src/main/java/Car.java | 25 +++++++++++++++++++++++ src/main/java/Main.java | 45 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 24 ++++++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) 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..710ee1431 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,25 @@ +public class Car { + private String name = ""; + private int speed = 0; + + Car(String name, int speed){ + this.name = name; + this.speed = speed; + } + + 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 db9356a08..44a2a05fd 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,49 @@ +import java.util.Scanner; public class Main { + public static void main(String[] args) { - System.out.println("Hello world!"); + // по сканеру вышел костыль, у меня не получается сделать это все на одном сканере + // вылетает программа, хотелось бы получить консультацию, если возможно + Scanner scannerInt = new Scanner(System.in); + Scanner scannerLine = new Scanner(System.in); + + int count; + Race racer = new Race(); + + while(true){ + System.out.println("Введите количество машин:"); + if(scannerInt.hasNextInt()){ + count = scannerInt.nextInt(); + break; + } + else { + System.out.println("Ошибка ввода! Попробуйте снова!"); + scannerInt.next(); + } + } + + for(int i = 0; i < count; i++) { + System.out.println("Введите название " + (i+1) + "-ой машины:"); + String nameCar = scannerLine.nextLine(); + + int speedCar; + while (true) { + System.out.println("Введите скорость " + (i+1) + "-ой машины:"); + if (scannerInt.hasNextInt()) { + speedCar = scannerInt.nextInt(); + if( speedCar> 0 && speedCar < 250) { + racer.checkRacer(nameCar, speedCar); + break; + } + } else { + System.out.println("Неправильная скорость!"); + scannerInt.next(); + } + } + } + System.out.println("Победитель: " + racer.getRace()); + scannerInt.close(); + scannerLine.close(); } } \ 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..02204abe2 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,24 @@ +import java.util.Scanner; + +public class Race { + private String racer = ""; + private int distance = 0; + Scanner scanner = new Scanner(System.in); + + public void checkRacer(String name, int speed){ + Car car = new Car(name, speed); + int newDistance = 24 * car.getSpeed(); + if (this.distance < newDistance) { + this.distance = newDistance; + this.racer = car.getName(); + } + } + + public void setRace(String racer) { + this.racer = racer; + } + + public String getRace() { + return racer; + } +} From 5fe30f6359367bf6a67536761628e031b954af42 Mon Sep 17 00:00:00 2001 From: formerFox Date: Sun, 1 Sep 2024 23:46:11 +0300 Subject: [PATCH 2/4] change main --- src/main/java/Main.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 44a2a05fd..e11a6f710 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,8 +3,6 @@ public class Main { public static void main(String[] args) { - // по сканеру вышел костыль, у меня не получается сделать это все на одном сканере - // вылетает программа, хотелось бы получить консультацию, если возможно Scanner scannerInt = new Scanner(System.in); Scanner scannerLine = new Scanner(System.in); From 4b4da7291d89b4a36c70abab89a4f6b984e332e8 Mon Sep 17 00:00:00 2001 From: formerFox Date: Mon, 2 Sep 2024 18:39:31 +0300 Subject: [PATCH 3/4] change main: correct use of class Scanner --- src/main/java/Main.java | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index e11a6f710..44f97b0fc 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,45 +3,45 @@ public class Main { public static void main(String[] args) { - Scanner scannerInt = new Scanner(System.in); - Scanner scannerLine = new Scanner(System.in); + Scanner scanner = new Scanner(System.in); int count; Race racer = new Race(); while(true){ System.out.println("Введите количество машин:"); - if(scannerInt.hasNextInt()){ - count = scannerInt.nextInt(); + if(scanner.hasNextInt()){ + count = scanner.nextInt(); + scanner.nextLine(); break; } else { System.out.println("Ошибка ввода! Попробуйте снова!"); - scannerInt.next(); + scanner.next(); } } for(int i = 0; i < count; i++) { System.out.println("Введите название " + (i+1) + "-ой машины:"); - String nameCar = scannerLine.nextLine(); + String nameCar = scanner.nextLine(); int speedCar; while (true) { - System.out.println("Введите скорость " + (i+1) + "-ой машины:"); - if (scannerInt.hasNextInt()) { - speedCar = scannerInt.nextInt(); + System.out.println("Введите скорость " + (i+1) + "-ой машины(больше 0 и меньше 250):"); + if (scanner.hasNextInt()) { + speedCar = scanner.nextInt(); + scanner.nextLine(); if( speedCar> 0 && speedCar < 250) { racer.checkRacer(nameCar, speedCar); break; } } else { System.out.println("Неправильная скорость!"); - scannerInt.next(); + scanner.next(); } } } System.out.println("Победитель: " + racer.getRace()); - scannerInt.close(); - scannerLine.close(); + scanner.close(); } } \ No newline at end of file From 086d75fcee0c64feabd7ac9c48d92c9e3d9c1990 Mon Sep 17 00:00:00 2001 From: formerFox Date: Tue, 3 Sep 2024 10:49:55 +0300 Subject: [PATCH 4/4] change main: adding check for negative count --- src/main/java/Main.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 44f97b0fc..34fa15eb8 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -5,7 +5,7 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - int count; + int count = 0; Race racer = new Race(); while(true){ @@ -13,7 +13,9 @@ public static void main(String[] args) { if(scanner.hasNextInt()){ count = scanner.nextInt(); scanner.nextLine(); - break; + if(count> 0) { + break; + } } else { System.out.println("Ошибка ввода! Попробуйте снова!"); @@ -43,5 +45,7 @@ public static void main(String[] args) { } System.out.println("Победитель: " + racer.getRace()); scanner.close(); + } + } \ No newline at end of file

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