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..b698be45 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,49 +1,94 @@ import java.util.Scanner; +import java.util.InputMismatchException; + public class Main { public static void main(String[] args) { + + Race race = new Race(); + + System.out.println("Welcome to Le-Man 24"); 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("Неверное количество друзей. Значение должно быть болье единицы, давайте попробуем еще раз."); + for (int i = 0; i <3; i++) { + System.out.println("Enter the name of the vehicle # " + (i+1)); + String name = scanner.next(); + + int maxSpeed; + do { + try { + System.out.println("Enter the max speed of the vehicle " + name + " (1 - 250 km/h)"); + maxSpeed = scanner.nextInt(); + if (maxSpeed <= 0 || maxSpeed > 0) { + System.out.println("The speed must be within 1 - 250 km/h range"); + } + } catch(InputMismatchException j) { + System.out.println("Error. Enter the correct speed within 1 - 250 km/h"); + scanner.next(); + maxSpeed = 0; + } + + } + while (maxSpeed <= 0 || maxSpeed > 250); + + Vehicle vehicle = new Vehicle(name, maxSpeed); + race.determineTheChampion(vehicle); } - Calculator calculator = new Calculator(friendCount); + Vehicle theChampion = race.announceTheChampion(); + System.out.println(" The Champion of Le-Man 24 is " + theChampion.getName()); + } +} - while (true) { - System.out.println("Введите название товара"); - String name = scanner.next(); +// ваш код начнется здесь +// вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Введите стоимость товара в формате: 'рубли.копейки' [10.45, 11.40]"); - double price = scanner.nextDouble(); +class Vehicle { - calculator.addItem(new Item(name, price)); + private String name; + private int maxSpeed; - System.out.println( - "Хотите добавить еще один товар? Введите любой символ для продолжения, либо 'Завершить' если больше нет товаров для добавления"); - String answer = scanner.next(); + public Vehicle(String name, int maxSpeed) { + this.name = name; + this.maxSpeed = maxSpeed; + } + + public String getName() { + + return name; + } + + public int getMaxSpeed() { + + return maxSpeed; + } + +} + + +class Race { + public Vehicle theChampion; + + public Race() { + this.theChampion = null; + } + + public void determineTheChampion(Vehicle vehicle) { + + int theLongestDistance = vehicle.getMaxSpeed() * 24; + System.out.println("Vehicle " + vehicle.getName() + " runs " + theLongestDistance + " km for 24 hours"); + if (theChampion == null || vehicle.getMaxSpeed() > theChampion.getMaxSpeed()) { + + theChampion = vehicle; - if (answer.equalsIgnoreCase("Завершить")) { - break; - } } - double result = calculator.divideSum(); - Formatter formatter = new Formatter(); + } - System.out.println(calculator.cart); - System.out.println("Каждому человеку к оплате: " + formatter.roundResult(result) + " " + formatter.formatValue(result)); + public Vehicle announceTheChampion() { + return theChampion; } } +