From 89a65acff88f6498c5c9ecd3fa1fd5296be287b7 Mon Sep 17 00:00:00 2001 From: Pavel Romashin Date: 2022年8月24日 01:20:17 +0300 Subject: [PATCH 1/3] First project YP --- src/main/java/Calculator.java | 35 ++++++++++++++++++++++++++ src/main/java/Main.java | 47 +++++++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Calculator.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..25c5948 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,35 @@ +import java.util.Scanner; + +public class Calculator { + String goods =""; + double sum = 0.00; + double sum1 = 0.00; + + public void getTheName(String position) {// Добавить товар + goods = goods+position+"\n"; + } + public void addition (double cost) {// Добавить стоимость + sum += cost; + } + public void addedGoods(){ + System.out.println("Добавленные товары:\n"); + System.out.println(goods); + } + public void totalSum (int persons){ + String message = "Сумма которую должен заплатить каждый: %.2f "; + String message1 ="рубль"; + String message2 ="рубля"; + String message3 ="рублей"; + sum1 = Math.floor(sum/persons); + + if (sum1%10>=2||sum1%10<=4) { + System.out.println(String.format(message,sum/persons) + message2); // окончание"рубля" + } + else if (sum1%10 ==1){ + System.out.println(String.format(message,sum/persons) + message1); + } + else { + System.out.println(String.format(message,sum/persons) + message3); + } + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..06438a4 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,51 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + int x; + while (true) { //Цикл ввода количества персон, на которое делится счет + System.out.println("На сколько человек нужно разделить счёт?\nВведите целым числом"); + Scanner scanner = new Scanner(System.in); // Ввод числа людей + x = scanner.nextInt();// Запоминаем число + System.out.println(x);//проверка 1 - вывод числа + if (x < 1) { + System.out.println("Круто, но платить некому\nВведите реальное количество людей"); // Проверка на 0 и отрицательность + } else if (x == 1) { + System.out.println("Придется оплачивать самостоятельно\nВведите реальное количество людей"); // Проверка на 1 + } else{ + break; + } + } + Calculator calc = new Calculator(); + while (true) { + System.out.println("Введите название товара или напишите \"завершить\""); + Scanner scanner = new Scanner(System.in);// Ввод + String pos = scanner.next();//Считывание названия товара + if (pos.equalsIgnoreCase("завершить") == false) {// проверяем, что "не завершить" + calc.getTheName(pos);//Добавляем товар в наш перечень + System.out.println("товар добавлен"); + while (true) { + System.out.println("введите стоимость товара в формате рубли.копейки [10.45, 11.40]"); + double price;//Считывание цены товара + price = scanner.nextDouble(); + if (price> 0) { //Проверяем, что число положительное + calc.addition(price); + break; + } + else {System.out.println("введено неправильное значение");} + // если отрицательное или 0, ввод ещё раз + } + } + else{ + break;}// пользователь ввел "завершить" + } + calc.addedGoods();// Выводим перечень товаров + calc.totalSum(x); // Вывод суммы, которую каждый должен заплатить + + } } -} + From 649e61afb2ca137599357bd294ad8a0a6f08d76c Mon Sep 17 00:00:00 2001 From: Pavel Romashin Date: 2022年8月25日 21:09:26 +0300 Subject: [PATCH 2/3] First project YP Rev A --- src/main/java/Calculator.java | 31 ++++++++------- src/main/java/Main.java | 71 ++++++++++++++++++++--------------- 2 files changed, 58 insertions(+), 44 deletions(-) diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java index 25c5948..5bf13e6 100644 --- a/src/main/java/Calculator.java +++ b/src/main/java/Calculator.java @@ -1,35 +1,38 @@ import java.util.Scanner; public class Calculator { - String goods =""; - double sum = 0.00; - double sum1 = 0.00; + String goods ="";// Строка, хранящая перечень всех товаров + double sum = 0.00;// Строка, хранящая сумму всех товаров + public void getTheName(String position) {// Добавить товар goods = goods+position+"\n"; - } + }// функция добавления товара public void addition (double cost) {// Добавить стоимость sum += cost; - } - public void addedGoods(){ + }// функция прибавки цены товара + public void addedGoods(){// функция вывода перечня товаров System.out.println("Добавленные товары:\n"); System.out.println(goods); } - public void totalSum (int persons){ + public void totalSum (int persons){// функция вычисления, сколько должен каждый + double sum1 = 0.00; String message = "Сумма которую должен заплатить каждый: %.2f "; + String message0 = ""; String message1 ="рубль"; String message2 ="рубля"; String message3 ="рублей"; - sum1 = Math.floor(sum/persons); - - if (sum1%10>=2||sum1%10<=4) { - System.out.println(String.format(message,sum/persons) + message2); // окончание"рубля" + sum1 = Math.floor(sum/persons);// Округление числа в меньшую сторону для определения окончания + double checkNumber = sum1%10; + if (checkNumber>=2&&checkNumber<=4) { + message0 = message2; // окончание"рубля" } - else if (sum1%10 ==1){ - System.out.println(String.format(message,sum/persons) + message1); + else if (checkNumber ==1){ + message0 = message1; } else { - System.out.println(String.format(message,sum/persons) + message3); + message0 = message3; } + System.out.println(String.format(message,sum/persons) + message0); } } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 06438a4..f887389 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,3 +1,4 @@ +import java.util.Locale; import java.util.Scanner; public class Main { @@ -6,46 +7,56 @@ public static void main(String[] args) { // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - int x; + int friendsNumber; while (true) { //Цикл ввода количества персон, на которое делится счет System.out.println("На сколько человек нужно разделить счёт?\nВведите целым числом"); - Scanner scanner = new Scanner(System.in); // Ввод числа людей - x = scanner.nextInt();// Запоминаем число - System.out.println(x);//проверка 1 - вывод числа - if (x < 1) { - System.out.println("Круто, но платить некому\nВведите реальное количество людей"); // Проверка на 0 и отрицательность - } else if (x == 1) { - System.out.println("Придется оплачивать самостоятельно\nВведите реальное количество людей"); // Проверка на 1 - } else{ - break; - } + 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("завершить") == false) {// проверяем, что "не завершить" - calc.getTheName(pos);//Добавляем товар в наш перечень - System.out.println("товар добавлен"); - while (true) { - System.out.println("введите стоимость товара в формате рубли.копейки [10.45, 11.40]"); - double price;//Считывание цены товара - price = scanner.nextDouble(); + } + 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("введено неправильное значение"); } - else {System.out.println("введено неправильное значение");} // если отрицательное или 0, ввод ещё раз } + System.out.println("Неправильный ввод"); } - else{ - break;}// пользователь ввел "завершить" - } - calc.addedGoods();// Выводим перечень товаров - calc.totalSum(x); // Вывод суммы, которую каждый должен заплатить - + } else { + break; + }// пользователь ввел "завершить" } + calc.addedGoods();// Выводим перечень товаров + calc.totalSum(friendsNumber); // Вывод суммы, которую каждый должен заплатить + } +} From b5fd64282e20073e52f618663e6387a23697d796 Mon Sep 17 00:00:00 2001 From: Pavel Romashin Date: 2022年8月26日 21:33:03 +0300 Subject: [PATCH 3/3] First project YP Rev B --- src/main/java/Calculator.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java index 5bf13e6..de8f095 100644 --- a/src/main/java/Calculator.java +++ b/src/main/java/Calculator.java @@ -1,29 +1,29 @@ import java.util.Scanner; public class Calculator { - String goods ="";// Строка, хранящая перечень всех товаров - double sum = 0.00;// Строка, хранящая сумму всех товаров + String addedGoods ="";// Строка, хранящая перечень всех товаров + double sumAllAddedGoods = 0.00;// Строка, хранящая сумму всех товаров public void getTheName(String position) {// Добавить товар - goods = goods+position+"\n"; + addedGoods = addedGoods+position+"\n"; }// функция добавления товара public void addition (double cost) {// Добавить стоимость - sum += cost; + sumAllAddedGoods += cost; }// функция прибавки цены товара public void addedGoods(){// функция вывода перечня товаров System.out.println("Добавленные товары:\n"); - System.out.println(goods); + System.out.println(addedGoods); } public void totalSum (int persons){// функция вычисления, сколько должен каждый - double sum1 = 0.00; + double sumRound = 0.00;// Вводим переменную для округления суммы товаров String message = "Сумма которую должен заплатить каждый: %.2f "; String message0 = ""; String message1 ="рубль"; String message2 ="рубля"; String message3 ="рублей"; - sum1 = Math.floor(sum/persons);// Округление числа в меньшую сторону для определения окончания - double checkNumber = sum1%10; + sumRound = Math.floor(sumAllAddedGoods/persons);// Округление числа в меньшую сторону для определения окончания + double checkNumber = sumRound%10; if (checkNumber>=2&&checkNumber<=4) { message0 = message2; // окончание"рубля" } @@ -33,6 +33,6 @@ else if (checkNumber ==1){ else { message0 = message3; } - System.out.println(String.format(message,sum/persons) + message0); + System.out.println(String.format(message,sumAllAddedGoods/persons) + message0); } }

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