diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..de8f095 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,38 @@ +import java.util.Scanner; + +public class Calculator { + String addedGoods ="";// Строка, хранящая перечень всех товаров + double sumAllAddedGoods = 0.00;// Строка, хранящая сумму всех товаров + + + public void getTheName(String position) {// Добавить товар + addedGoods = addedGoods+position+"\n"; + }// функция добавления товара + public void addition (double cost) {// Добавить стоимость + sumAllAddedGoods += cost; + }// функция прибавки цены товара + public void addedGoods(){// функция вывода перечня товаров + System.out.println("Добавленные товары:\n"); + System.out.println(addedGoods); + } + public void totalSum (int persons){// функция вычисления, сколько должен каждый + double sumRound = 0.00;// Вводим переменную для округления суммы товаров + String message = "Сумма которую должен заплатить каждый: %.2f "; + String message0 = ""; + String message1 ="рубль"; + String message2 ="рубля"; + String message3 ="рублей"; + sumRound = Math.floor(sumAllAddedGoods/persons);// Округление числа в меньшую сторону для определения окончания + double checkNumber = sumRound%10; + if (checkNumber>=2&&checkNumber<=4) { + message0 = message2; // окончание"рубля" + } + else if (checkNumber ==1){ + message0 = message1; + } + else { + message0 = message3; + } + System.out.println(String.format(message,sumAllAddedGoods/persons) + message0); + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..f887389 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,62 @@ +import java.util.Locale; +import java.util.Scanner; + public class Main { public static void main(String[] args) { // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + int friendsNumber; + while (true) { //Цикл ввода количества персон, на которое делится счет + System.out.println("На сколько человек нужно разделить счёт?\nВведите целым числом"); + Scanner scanner = new Scanner(System.in).useLocale(Locale.US); // Ввод числа людей + if (scanner.hasNextInt()) { + friendsNumber = scanner.nextInt();// Запоминаем число + + //System.out.println(friendsNumber);//проверка 1 - вывод числа + if (friendsNumber < 1) { + System.out.println("Круто, но платить некому\nВведите реальное количество людей"); // Проверка на 0 и отрицательность + } else if (friendsNumber == 1) { + System.out.println("Придется оплачивать самостоятельно\nВведите реальное количество людей"); // Проверка на 1 + } else { + break; + } + } else { + System.out.println("Неправильный ввод"); + } + } + Calculator calc = new Calculator(); + while (true) { + System.out.println("Введите название товара или напишите \"завершить\""); + Scanner scanner = new Scanner(System.in);// Ввод + String pos = scanner.next();//Считывание названия товара + if (!pos.equalsIgnoreCase("завершить")) {// проверяем, что "не завершить" + calc.getTheName(pos);//Добавляем товар в наш перечень + System.out.println("товар добавлен"); + while (true) { + System.out.println("введите стоимость товара в формате рубли.копейки [10.45, 11.40]"); + double price;//Считывание цены товара + Scanner scanner1 = new Scanner(System.in).useLocale(Locale.US);// Ввод + if (scanner1.hasNextDouble()) { + price = scanner1.nextDouble(); + if (price> 0) { //Проверяем, что число положительное + calc.addition(price); + break; + } else { + System.out.println("введено неправильное значение"); + } + // если отрицательное или 0, ввод ещё раз + } + System.out.println("Неправильный ввод"); + } + } else { + break; + }// пользователь ввел "завершить" + } + calc.addedGoods();// Выводим перечень товаров + calc.totalSum(friendsNumber); // Вывод суммы, которую каждый должен заплатить + } } +

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