diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..61a9130 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..6cec569 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a47d29e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..12e0087 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,47 @@ +import java.util.Scanner; + +public class Calculator { + static String exit = "Завершить"; // Вынес в статическую константу "Завершить" + + public static void calc(int people) { + String dish; + String allDishes = ""; + float price; + float sumOfOrder = 0.0f; + String close; + while (true) { + Scanner scSecond = new Scanner(System.in); // Оставил один сканнер + System.out.println("Введите название блюда!"); + dish = scSecond.nextLine(); + System.out.println("Введите стоимость этого блюда в формате 'руб.коп'"); + if (scSecond.hasNextFloat()) { + price = scSecond.nextFloat(); + if (price > 0) { + sumOfOrder = sumOfOrder + price; + allDishes = allDishes + dish + "\n"; + String sufForOne = Finish.finish(price); + String anotherOne = "Вы добавили: %s за %.2f%s\n"; + System.out.printf(anotherOne, dish, price, sufForOne); + System.out.println("Хотите добавить блюдо? Введите любую букву или напишите:'Завершить', если блюд больше не осталось"); + close = scSecond.next(); + if (close.equalsIgnoreCase(exit)) { + break; + } + } else { + System.out.println("Сумма указана неверно"); + } + } else { + System.out.println("Сумма указана неверно, попробуйте внести блюдо снова"); + } + + } + String suf = Finish.finish(sumOfOrder); + float forThePerson = sumOfOrder / people; + String lastSuf = Finish.finish(forThePerson); + + System.out.println("Вы купили:\n" + allDishes + "За " + String.format("%.2f", sumOfOrder) + suf); + System.out.println("Каждый должен заплатить по: " + String.format("%.2f", forThePerson) + lastSuf); + + + } +} diff --git a/src/main/java/Finish.java b/src/main/java/Finish.java new file mode 100644 index 0000000..a3b5989 --- /dev/null +++ b/src/main/java/Finish.java @@ -0,0 +1,21 @@ +public class Finish { + public static String finish(float overallCost) { + String suffix; + int hundred = (int) Math.floor(overallCost % 100); + if (hundred <= 14 && hundred >= 11) { // Исправил + suffix = " рублей "; + } else { + int ten = hundred % 10; + if (ten == 1) { + suffix = " рубль "; + } else if (ten >= 2 && ten <= 4) { + suffix = " рубля "; + } else { + suffix = " рублей "; + } + + } + return suffix; + } +} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..c918f2a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,26 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + int howManyPeople; + while (true) { + System.out.println("На сколько человек необходимо разделить счет?"); + Scanner scFirst = new Scanner(System.in); + if (scFirst.hasNextInt()) { + howManyPeople = scFirst.nextInt(); + if (howManyPeople > 1) { + break; + } + System.out.println("Извините, но необходимо ввести число гостей, которое больше 1!");// Убрал один if, который был, как оказалось, не нужен + } else { + System.out.println("Извините, но необходжмо ввести целочисленное значение больше 1"); + } + } + Calculator.calc(howManyPeople); } + } + +