diff --git a/src/main/java/BillCalculator.java b/src/main/java/BillCalculator.java new file mode 100644 index 0000000..1463682 --- /dev/null +++ b/src/main/java/BillCalculator.java @@ -0,0 +1,79 @@ +import java.util.Scanner; + +public class BillCalculator { + + public int numberOfPeople = 0; + public String dishesList = ""; + public double billAmount = 0.0; + Scanner scanner; + + public BillCalculator (Scanner scanner) { + this.scanner = scanner; + } + + public void inputParameters () { + System.out.println ("Введите количество человек, на которых нужно поделить счет"); + int i = 0; + while (!scanner.hasNextInt()) { + System.out.println("Введите целое число"); + scanner.next(); + } + while (true) { + i = scanner.nextInt(); + if (i < 2) { + System.out.println("Количество человек не должно быть меньше двух"); + } + else { + numberOfPeople = i; + break; + } + } + } + + public void addDishes () { + while (true) { + System.out.println ("Введите название блюда"); + String name = scanner.next(); + if (name.equalsIgnoreCase("завершить")) { + break; + } + System.out.println ("Введите цену блюда в формате \"рубли.копейки\""); + while (!scanner.hasNextDouble()) { + System.out.println("Некорректный ввод цены, введите цену блюда в формате \"рубли.копейки\""); + scanner.next(); + } + double price = scanner.nextDouble(); + dishesList = dishesList + name + "\n"; + billAmount = billAmount + price; + } + } + + public void printResult () { + System.out.println("Добавленные товары:\n"+dishesList); + double costPerPerson = billAmount / numberOfPeople; + String costText = "%.2f "; + System.out.println("Сумма на человека: " + String.format(costText,costPerPerson) + addCorrectRubleString(costPerPerson)); + } + + public String addCorrectRubleString (double billAmount) { + int amount = (int) billAmount; + + if(amount> 100) + amount %= 100; + + if(amount> 20) + amount %= 10; + + switch(amount) + { + case 1: + return "Рубль"; + case 2: + case 3: + case 4: + return "Рубля"; + default: + return "Рублей"; + } + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..4abf905 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,13 @@ +import java.util.Locale; +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + Scanner scanner = new Scanner(System.in).useLocale(Locale.US); + BillCalculator calculator = new BillCalculator(scanner); + calculator.inputParameters(); + calculator.addDishes(); + calculator.printResult(); } }

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