From 99f70efea1232152fee3ea47a255af9c3d8b12a1 Mon Sep 17 00:00:00 2001 From: AndNata Date: Sun, 4 Jun 2023 13:12:52 +0300 Subject: [PATCH 1/3] first commit in first project practicum --- src/main/java/CountFriends.java | 42 ++++++++++++++++++++++++++++++ src/main/java/Main.java | 19 +++++++++++++- src/main/java/Products.java | 46 +++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 src/main/java/CountFriends.java create mode 100644 src/main/java/Products.java diff --git a/src/main/java/CountFriends.java b/src/main/java/CountFriends.java new file mode 100644 index 000000000..d6e9feea2 --- /dev/null +++ b/src/main/java/CountFriends.java @@ -0,0 +1,42 @@ +import java.util.Scanner; + +public class CountFriends { + + static private int countFriends=0; + double countMoney; + static Scanner sc=new Scanner(System.in); + + //Функция ввода количества человек + public static int inputCountFriends(double countMoney) { + do { + System.out.println("На скольких человек необходимо разделить счёт?"); + countFriends = sc.nextInt(); + switch (countFriends) { + case 0: + System.out.println("Введено некорректное количество человек.\n Введите еще раз!)"); + break; + case 1: + System.out.println("Нечего делить в счете оплачиваемым одним человеком.\n Введите еще раз!)"); + break; + default: + if (countFriends> countMoney*100) + System.out.println("Счет слишком маленький для такой большой компании.\n Введите еще раз!)"); + else if(countFriends<0) System.out.println("Кхм... Попробуем еще раз!"); + else return countFriends; + } + } while (true) ; + + } + public static double calculate(int countFriends, double countMoney) { + return countMoney/countFriends; + } + + public static String ruble(double manyForOne) { + int value = (int)manyForOne; + if((value%100/10)%10==1 || value%10==0 || value%10>=5) return "рублей"; + else if (value%10==1) return "рубль"; + else if (value%10>1 && value%10<5) return "рубля"; + else return "ошибка"; + } + +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..7cc833186 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,23 @@ +import static java.lang.String.format; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner sc=new Scanner(System.in); + + try { + Products.addProducts(); + double countMoney = Products.getSumm(); + int countFriends = CountFriends.inputCountFriends(countMoney); + double manyForOne = CountFriends.calculate(countFriends, countMoney); + + System.out.println(Products.getListProducts()); + System.out.println("Каждый должен заплатить по: "+ String.format("%.2f", manyForOne).replace(",", ".") +" "+ CountFriends.ruble(manyForOne)); + } catch (Exception e) { + System.out.println("Ошибка: "+e.getMessage()); + } + + } + } \ No newline at end of file diff --git a/src/main/java/Products.java b/src/main/java/Products.java new file mode 100644 index 000000000..86aced474 --- /dev/null +++ b/src/main/java/Products.java @@ -0,0 +1,46 @@ +import static java.lang.String.format; + +import java.util.Scanner; + +public class Products { + static Scanner sc=new Scanner(System.in); + private static String listProducts="Добавленные товары:"; + private static double summ=0.00; + static String inputName; + static double price; + + public static void addProducts() { + do { + System.out.println("Введите название товара"); + inputName = sc.nextLine(); + inputName = inputName.trim(); + if (inputName.equalsIgnoreCase("Завершить")) {break;} + else {listProducts += "\n" + inputName;} + while(true) { + System.out.println("Введите стоимость товара"); + String stringPrice = sc.nextLine(); + price = Double.parseDouble(stringPrice); + if (price < 0) { + System.out.println("Неправильная стоимость товара"); + continue; + } else {summ += (double) price; + break;} } + System.out.println("Товар успешно добавлен!"); + System.out.println("Введите \"Завершить\" для завершения или любой другой символ для продолжения"); + inputName = sc.nextLine(); + inputName = inputName.trim(); + if (inputName.equalsIgnoreCase("Завершить")) break; + else continue; + } while (true); + } + + public static String getListProducts () { + return listProducts; + } + + public static double getSumm () { + return summ; + } + + +} From 4ecd1c7ad026ca4dc15b103257a906342f8d45f5 Mon Sep 17 00:00:00 2001 From: AndNata Date: Sun, 4 Jun 2023 15:42:53 +0300 Subject: [PATCH 2/3] Second commit with corrections in first project practicum --- src/main/java/CountFriends.java | 59 +++++++++++++++++++-------------- src/main/java/Main.java | 14 ++------ src/main/java/Products.java | 53 ++++++++++++++++++----------- 3 files changed, 70 insertions(+), 56 deletions(-) diff --git a/src/main/java/CountFriends.java b/src/main/java/CountFriends.java index d6e9feea2..2a99e5f68 100644 --- a/src/main/java/CountFriends.java +++ b/src/main/java/CountFriends.java @@ -2,41 +2,50 @@ public class CountFriends { - static private int countFriends=0; - double countMoney; - static Scanner sc=new Scanner(System.in); + static int countFriends = 0; + static Scanner sc = new Scanner(System.in); //Функция ввода количества человек public static int inputCountFriends(double countMoney) { - do { - System.out.println("На скольких человек необходимо разделить счёт?"); - countFriends = sc.nextInt(); - switch (countFriends) { - case 0: - System.out.println("Введено некорректное количество человек.\n Введите еще раз!)"); - break; - case 1: - System.out.println("Нечего делить в счете оплачиваемым одним человеком.\n Введите еще раз!)"); - break; - default: - if (countFriends> countMoney*100) - System.out.println("Счет слишком маленький для такой большой компании.\n Введите еще раз!)"); - else if(countFriends<0) System.out.println("Кхм... Попробуем еще раз!"); - else return countFriends; + do { + System.out.println("На скольких человек необходимо разделить счёт?"); + try { + if (sc.hasNextLine()) { + String inputLine = sc.nextLine(); + inputLine = inputLine.trim(); + countFriends = Integer.parseInt(inputLine); } - } while (true) ; + } catch (Exception e) { + System.out.println("Ошибка: " + e.getMessage()); + } + switch (countFriends) { + case 0: + System.out.println("Введено некорректное количество человек.\n Введите еще раз!)"); + break; + case 1: + System.out.println("Нечего делить в счете оплачиваемым одним человеком.\n Введите еще раз!)"); + break; + default: + if (countFriends> countMoney * 100) + System.out.println("Счет слишком маленький для такой большой компании.\n Введите еще раз!)"); + else if (countFriends < 0) + System.out.println("Кхм... Попробуем еще раз!"); + else return countFriends; + } + } + while (true); } + public static double calculate(int countFriends, double countMoney) { - return countMoney/countFriends; + return countMoney / countFriends; } public static String ruble(double manyForOne) { - int value = (int)manyForOne; - if((value%100/10)%10==1 || value%10==0 || value%10>=5) return "рублей"; - else if (value%10==1) return "рубль"; - else if (value%10>1 && value%10<5) return "рубля"; + int value = (int) manyForOne; + if ((value % 100 / 10) % 10 == 1 || value % 10 == 0 || value % 10>= 5) return "рублей"; + else if (value % 10 == 1) return "рубль"; + else if (value % 10> 1 && value % 10 < 5) return "рубля"; else return "ошибка"; } - } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 7cc833186..80943817e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,23 +1,15 @@ -import static java.lang.String.format; import java.util.Scanner; public class Main { public static void main(String[] args) { - Scanner sc=new Scanner(System.in); - - try { + Scanner sc = new Scanner(System.in); Products.addProducts(); double countMoney = Products.getSumm(); int countFriends = CountFriends.inputCountFriends(countMoney); double manyForOne = CountFriends.calculate(countFriends, countMoney); System.out.println(Products.getListProducts()); - System.out.println("Каждый должен заплатить по: "+ String.format("%.2f", manyForOne).replace(",", ".") +" "+ CountFriends.ruble(manyForOne)); - } catch (Exception e) { - System.out.println("Ошибка: "+e.getMessage()); - } - - + System.out.println("Каждый должен заплатить по: " + String.format("%.2f", manyForOne).replace(",", ".") + " " + CountFriends.ruble(manyForOne)); + sc.close(); } - } \ No newline at end of file diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 86aced474..eb6b43a65 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -1,44 +1,57 @@ -import static java.lang.String.format; import java.util.Scanner; public class Products { - static Scanner sc=new Scanner(System.in); - private static String listProducts="Добавленные товары:"; - private static double summ=0.00; + static Scanner sc = new Scanner(System.in); + private static String listProducts = "Добавленные товары:"; + private static double summ = 0.00; static String inputName; static double price; public static void addProducts() { do { System.out.println("Введите название товара"); - inputName = sc.nextLine(); - inputName = inputName.trim(); - if (inputName.equalsIgnoreCase("Завершить")) {break;} - else {listProducts += "\n" + inputName;} - while(true) { - System.out.println("Введите стоимость товара"); - String stringPrice = sc.nextLine(); - price = Double.parseDouble(stringPrice); - if (price < 0) { - System.out.println("Неправильная стоимость товара"); - continue; - } else {summ += (double) price; - break;} } + if (sc.hasNextLine()) { + inputName = sc.nextLine(); + inputName = inputName.trim(); + } + if (inputName.equalsIgnoreCase("Завершить")) { + break; + } else if (inputName.length() == 0) continue; + else { + listProducts += "\n" + inputName; + } + while (true) { + System.out.println("Введите стоимость товара цифрой"); + try { + if (sc.hasNextLine()) { + String inputLine = sc.nextLine().trim(); + double price = Double.parseDouble(inputLine); + if (price < 0) { + System.out.println("Неправильная стоимость товара"); + } else { + summ += (double) price; + break; + } + } + } catch (Exception e) { + System.out.println("Ошибка: " + e.getMessage()); + } + + } System.out.println("Товар успешно добавлен!"); System.out.println("Введите \"Завершить\" для завершения или любой другой символ для продолжения"); inputName = sc.nextLine(); inputName = inputName.trim(); if (inputName.equalsIgnoreCase("Завершить")) break; - else continue; } while (true); } - public static String getListProducts () { + public static String getListProducts() { return listProducts; } - public static double getSumm () { + public static double getSumm() { return summ; } From 112ed03f011cebd48c7cca1a2fa55b65a4c87ad0 Mon Sep 17 00:00:00 2001 From: AndNata Date: Sun, 4 Jun 2023 17:21:14 +0300 Subject: [PATCH 3/3] 3 commit with also corrections in first project practicum --- src/main/java/CountFriends.java | 6 ++---- src/main/java/Main.java | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/CountFriends.java b/src/main/java/CountFriends.java index 2a99e5f68..3f18417ea 100644 --- a/src/main/java/CountFriends.java +++ b/src/main/java/CountFriends.java @@ -6,7 +6,7 @@ public class CountFriends { static Scanner sc = new Scanner(System.in); //Функция ввода количества человек - public static int inputCountFriends(double countMoney) { + public static int inputCountFriends() { do { System.out.println("На скольких человек необходимо разделить счёт?"); try { @@ -26,9 +26,7 @@ public static int inputCountFriends(double countMoney) { System.out.println("Нечего делить в счете оплачиваемым одним человеком.\n Введите еще раз!)"); break; default: - if (countFriends> countMoney * 100) - System.out.println("Счет слишком маленький для такой большой компании.\n Введите еще раз!)"); - else if (countFriends < 0) + if (countFriends < 0) System.out.println("Кхм... Попробуем еще раз!"); else return countFriends; } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 80943817e..95ed77353 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,9 +3,9 @@ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); + int countFriends = CountFriends.inputCountFriends(); Products.addProducts(); double countMoney = Products.getSumm(); - int countFriends = CountFriends.inputCountFriends(countMoney); double manyForOne = CountFriends.calculate(countFriends, countMoney); System.out.println(Products.getListProducts());

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