diff --git a/settings.gradle b/settings.gradle index 716abf25..be110bf6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,4 +12,4 @@ dependencyResolutionManagement { mavenCentral() } } -rootProject.name = "BillCalculator" +rootProject.name = "Java-Module-Project" diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java deleted file mode 100644 index 2fbc00dd..00000000 --- a/src/main/java/Calculator.java +++ /dev/null @@ -1,22 +0,0 @@ -class Calculator { - - int friendsCount; - - String cart = "Добавленные товары:"; - double totalPrice = 0; - - Calculator(int friendsCount) { - this.friendsCount = friendsCount; - } - - void addItem(Item item) { - totalPrice += item.price; - cart = cart + "\n" + item.name; - - System.out.println(item.name + " в корзине"); - } - - double divideSum() { - return totalPrice / friendsCount; - } -} diff --git a/src/main/java/Formatter.java b/src/main/java/Formatter.java deleted file mode 100644 index 3f915b75..00000000 --- a/src/main/java/Formatter.java +++ /dev/null @@ -1,17 +0,0 @@ -public class Formatter { - - String formatValue(double price) { - double roundedValue = Math.floor(price); - if (roundedValue == 1) { - return "рубль"; - } else if (roundedValue >= 2 && roundedValue <= 4) { - return "рубля"; - } else { - return "рублей"; - } - } - - String roundResult(final double result) { - return String.format("%.2f", result); - } -} diff --git a/src/main/java/Item.java b/src/main/java/Item.java deleted file mode 100644 index fad8a4e9..00000000 --- a/src/main/java/Item.java +++ /dev/null @@ -1,10 +0,0 @@ -class Item { - - String name; - double price; - - Item(String name, double price) { - this.name = name; - this.price = price; - } -} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 11ba5d36..fc42c9f6 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,49 +1,109 @@ +import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - - int friendCount; - while (true) { - System.out.println("На сколько человек необходимо разделить счет?"); - friendCount = scanner.nextInt(); - - if (friendCount > 1) { - break; - } else if (friendCount == 1) { - System.out.println( - "Нет смысла делить сумму на одного человека. Давайте попробуем ввести другое значение, которое будет больше единицы."); - } else { - System.out.println("Неверное количество друзей. Значение должно быть болье единицы, давайте попробуем еще раз."); + ArrayList cars = new ArrayList<>(); + System.out.println("Введите название машины №1:"); + String nameCar = scanner.next(); + boolean prov = false; + int speedCar =0; + while(!prov){ + System.out.println("Введите скорость машины " + nameCar+" :"); + try{ + while(true){ + speedCar = scanner.nextInt(); + Car car = new Car(nameCar, speedCar); + if(car.speed>0&&car.speed<251){ + cars.add(car); + System.out.println(car.name + " подходит! Она проедет "+ leMan(car.speed) +" за 24 часа."); + break; + }else{ + System.out.println("Машина не подходит на гонку допускаются машины со скоростью до 250 км/ч. Попробуйте еще раз, так как скорость "+ car.name +" = "+ car.speed +" км/ч."); + } + } + prov = true; + }catch(Exception exception){ + System.out.println("Некорректный ввод. Пожалуйста, введите скорость."); + scanner.nextLine(); } } - - Calculator calculator = new Calculator(friendCount); - - while (true) { - System.out.println("Введите название товара"); - String name = scanner.next(); - - System.out.println("Введите стоимость товара в формате: 'рубли.копейки' [10.45, 11.40]"); - double price = scanner.nextDouble(); - - calculator.addItem(new Item(name, price)); - - System.out.println( - "Хотите добавить еще один товар? Введите любой символ для продолжения, либо 'Завершить' если больше нет товаров для добавления"); - String answer = scanner.next(); - - if (answer.equalsIgnoreCase("Завершить")) { - break; + System.out.println("Введите название машины №2:"); + String nameCar2 = scanner.next(); + boolean prov1 = false; + int speedCar2 =0; + while(!prov1){ + System.out.println("Введите скорость машины " + nameCar2+" :"); + try{ + while(true){ + speedCar2 = scanner.nextInt(); + Car car2 = new Car(nameCar2, speedCar2); + if(car2.speed>0&&car2.speed<251){ + cars.add(car2); + System.out.println(car2.name + " подходит! Она проедет "+ leMan(car2.speed) +" за 24 часа."); + break; + }else{ + System.out.println("Машина не подходит на гонку допускаются машины со скоростью до 250 км/ч. Попробуйте еще раз, так как скорость "+ car2.name +" = "+ car2.speed +" км/ч."); + } + } + prov1 = true; + }catch(Exception exception){ + System.out.println("Некорректный ввод. Пожалуйста, введите скорость."); + scanner.nextLine(); } } - - double result = calculator.divideSum(); - Formatter formatter = new Formatter(); - - System.out.println(calculator.cart); - System.out.println("Каждому человеку к оплате: " + formatter.roundResult(result) + " " + formatter.formatValue(result)); + System.out.println("Введите название машины №3:"); + String nameCar3 = scanner.next(); + boolean prov2 = false; + int speedCar3 =0; + while(!prov2){ + System.out.println("Введите скорость машины " + nameCar3+" :"); + try{ + while(true){ + speedCar3 = scanner.nextInt(); + Car car3 = new Car(nameCar3, speedCar3); + if(car3.speed>0&&car3.speed<251){ + cars.add(car3); + System.out.println(car3.name + " подходит! Она проедет "+ leMan(car3.speed) +" за 24 часа."); + break; + }else{ + System.out.println("Машина не подходит на гонку допускаются машины со скоростью до 250 км/ч. Попробуйте еще раз, так как скорость "+ car3.name +" = "+ car3.speed +" км/ч."); + } + } + prov2 = true; + }catch(Exception exception){ + System.out.println("Некорректный ввод. Пожалуйста, введите скорость."); + scanner.nextLine(); + } + } + if(cars.get(0).speed>cars.get(1).speed&&cars.get(0).speed>cars.get(2).speed){ + System.out.println("Самая быстрая машина: " + cars.get(0).name); + }else if(cars.get(1).speed>cars.get(0).speed&&cars.get(1).speed>cars.get(2).speed){ + System.out.println("Самая быстрая машина: " + cars.get(1).name); + }else if(cars.get(2).speed>cars.get(0).speed&&cars.get(2).speed>cars.get(1).speed){ + System.out.println("Самая быстрая машина: " + cars.get(2).name); + }else if(cars.get(0).speed==cars.get(1).speed&&cars.get(0).speed>cars.get(2).speed){ + System.out.println("Самые быстрые машины: " + cars.get(0).name+", "+cars.get(1).name); + }else if(cars.get(1).speed==cars.get(2).speed&&cars.get(1).speed>cars.get(0).speed) { + System.out.println("Самые быстрые машины: " + cars.get(1).name + ", " + cars.get(2).name); + }else if(cars.get(0).speed==cars.get(2).speed&&cars.get(1).speed>cars.get(1).speed) { + System.out.println("Самые быстрые машины: " + cars.get(0).name + ", " + cars.get(2).name); + } else{ + System.out.println("Все машины финишируют одинаково"); + } + } + public static int leMan(int speeds){ + int speedCar = speeds*24; + return speedCar; + } +} +class Car{ + final String name; + final int speed; + public Car(String name, int speed){ + this.name = name; + this.speed = speed; } }