From 83a7216ba0ecbdf537d7137c2708aa3c274811eb Mon Sep 17 00:00:00 2001 From: s-buvaka Date: 2022年7月27日 22:57:22 +0300 Subject: [PATCH 01/10] Init commit --- src/main/java/Calculator.java | 22 ----------------- src/main/java/Formatter.java | 17 ------------- src/main/java/Item.java | 10 -------- src/main/java/Main.java | 45 +---------------------------------- 4 files changed, 1 insertion(+), 93 deletions(-) delete mode 100644 src/main/java/Calculator.java delete mode 100644 src/main/java/Formatter.java delete mode 100644 src/main/java/Item.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java deleted file mode 100644 index 2fbc00d..0000000 --- a/src/main/java/Calculator.java +++ /dev/null @@ -1,22 +0,0 @@ -class Calculator { - - int friendsCount; - - String cart = "Добавленные товары:"; - double totalPrice = 0; - - Calculator(int friendsCount) { - this.friendsCount = friendsCount; - } - - void addItem(Item item) { - totalPrice += item.price; - cart = cart + "\n" + item.name; - - System.out.println(item.name + " в корзине"); - } - - double divideSum() { - return totalPrice / friendsCount; - } -} diff --git a/src/main/java/Formatter.java b/src/main/java/Formatter.java deleted file mode 100644 index 3f915b7..0000000 --- a/src/main/java/Formatter.java +++ /dev/null @@ -1,17 +0,0 @@ -public class Formatter { - - String formatValue(double price) { - double roundedValue = Math.floor(price); - if (roundedValue == 1) { - return "рубль"; - } else if (roundedValue>= 2 && roundedValue <= 4) { - return "рубля"; - } else { - return "рублей"; - } - } - - String roundResult(final double result) { - return String.format("%.2f", result); - } -} diff --git a/src/main/java/Item.java b/src/main/java/Item.java deleted file mode 100644 index fad8a4e..0000000 --- a/src/main/java/Item.java +++ /dev/null @@ -1,10 +0,0 @@ -class Item { - - String name; - double price; - - Item(String name, double price) { - this.name = name; - this.price = price; - } -} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 11ba5d3..964dbb0 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,49 +1,6 @@ -import java.util.Scanner; - public class Main { public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - - int friendCount; - while (true) { - System.out.println("На сколько человек необходимо разделить счет?"); - friendCount = scanner.nextInt(); - - if (friendCount> 1) { - break; - } else if (friendCount == 1) { - System.out.println( - "Нет смысла делить сумму на одного человека. Давайте попробуем ввести другое значение, которое будет больше единицы."); - } else { - System.out.println("Неверное количество друзей. Значение должно быть болье единицы, давайте попробуем еще раз."); - } - } - - Calculator calculator = new Calculator(friendCount); - - while (true) { - System.out.println("Введите название товара"); - String name = scanner.next(); - - System.out.println("Введите стоимость товара в формате: 'рубли.копейки' [10.45, 11.40]"); - double price = scanner.nextDouble(); - - calculator.addItem(new Item(name, price)); - - System.out.println( - "Хотите добавить еще один товар? Введите любой символ для продолжения, либо 'Завершить' если больше нет товаров для добавления"); - String answer = scanner.next(); - - if (answer.equalsIgnoreCase("Завершить")) { - break; - } - } - - double result = calculator.divideSum(); - Formatter formatter = new Formatter(); - - System.out.println(calculator.cart); - System.out.println("Каждому человеку к оплате: " + formatter.roundResult(result) + " " + formatter.formatValue(result)); + // ваш код начнется здесь } } From 0580674985fa10eccd25699575e1937efc95f06d Mon Sep 17 00:00:00 2001 From: s-buvaka Date: 2022年7月27日 23:13:52 +0300 Subject: [PATCH 02/10] Change project name --- .idea/.gitignore | 3 +++ .idea/compiler.xml | 6 ++++++ .idea/gradle.xml | 18 ++++++++++++++++++ .idea/misc.xml | 10 ++++++++++ .idea/vcs.xml | 6 ++++++ settings.gradle | 2 +- src/main/java/Main.java | 8 +++++++- src/main/java/People.java | 34 ++++++++++++++++++++++++++++++++++ 8 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/People.java 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/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/settings.gradle b/settings.gradle index 716abf2..be110bf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,4 +12,4 @@ dependencyResolutionManagement { mavenCentral() } } -rootProject.name = "BillCalculator" +rootProject.name = "Java-Module-Project" diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..0ea4d11 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,6 +3,12 @@ public class Main { public static void main(String[] args) { // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + //System.out.println("Привет Мир"); + + //static short numberOfPeople; + + People sTart=new People(); + sTart.countPeople(); + System.out.println(sTart.numberOfPeople);//удалить в финальной версии } } diff --git a/src/main/java/People.java b/src/main/java/People.java new file mode 100644 index 0000000..2279f7f --- /dev/null +++ b/src/main/java/People.java @@ -0,0 +1,34 @@ + +import java.util.Scanner; + +public class People { + + static Short numberOfPeople;//объявляем статическую переменную для передачи в класс Main + + public static void countPeople() { + Scanner scanner=new Scanner(System.in); + System.out.println("Добрый день"); + + + while (true) { + System.out.println("На сколько человек разделить счёт?"); + + if (scanner.hasNext()){ + numberOfPeople = scanner.nextShort(); + if (numberOfPeople> 1) { + System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников + break; + } + + if (numberOfPeople <= 1) { + System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); + } + }else{ + System.out.println("Неправильный ввод. Попробуйте ввести число участников в числовом формате."); + scanner.nextLine(); + } + + } + + } +} \ No newline at end of file From d0d3d01705712627e276ec74d51415624db6865e Mon Sep 17 00:00:00 2001 From: AshZoom Date: Tue, 8 Nov 2022 19:49:04 +0100 Subject: [PATCH 03/10] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD?= =?UTF-8?q?=D0=B5=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=80=D0=B5=D1=83=D0=B7=D0=BB=D1=8C=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D0=B0=D0=BC=202=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=20=D0=90.=D0=A8=D0=BC=D0=B0=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/EndofRUB.java | 50 +++++++++++++++++++++++++++++++++ src/main/java/Main.java | 24 +++++++++++++++- src/main/java/People.java | 2 +- src/main/java/Products.java | 56 +++++++++++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 src/main/java/EndofRUB.java create mode 100644 src/main/java/Products.java diff --git a/src/main/java/EndofRUB.java b/src/main/java/EndofRUB.java new file mode 100644 index 0000000..705ef32 --- /dev/null +++ b/src/main/java/EndofRUB.java @@ -0,0 +1,50 @@ +public class EndofRUB { + +//Метод проверки падежа и окончания в слове руб. +//Для определения нужного падежа достаточно проверять последние 1-2 цифры числа +//Для этого выделяем их из числа с помощью Math.floor()-возвращает число ближайшее +// к аргументу слева. Если остаток будет равен 1 -окончание "рубль", если 11 - "рублей" +// аналогично с 2;3 и 4.Поэтому необходимое условие для этих цифр result % 100>= 11 && result % 100 <= 14 + + + public static void endOfWord(double single) { + if ((int) Math.floor(single) % 100>= 11 && (int) Math.floor(single) % 100 <= 14) { + System.out.printf("%.2f рублей%n",single); + } else { + switch ((int)Math.floor(single)%10) { + case 1: + System.out.printf("%.2f рубль%n",single); + break; + case 2: + case 3: + case 4: + System.out.printf("%.2f рубля%n",single); + break; + default: + System.out.printf("%.2f рублей%n",single); + break; + } + } + } + +} +//1- рубль +//2- рубля +//3- рубля +//4- рубля +//5- рублей +//6- рублей +//7- рублей +//8- рублей +//9- рублей +//10- рублей +//11- рублей +//12- рублей +//13- рублей +//14- рублей +//15- рублей +//16- рублей +//17- рублей +//18- рублей +//19- рублей +//20- рублей \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 0ea4d11..c8fd661 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -6,9 +6,31 @@ public static void main(String[] args) { //System.out.println("Привет Мир"); //static short numberOfPeople; + String list=""; + Double result=0.00; + //вводим количество участников и сохраняем в переменной sTart People sTart=new People(); sTart.countPeople(); - System.out.println(sTart.numberOfPeople);//удалить в финальной версии + + // вызываем метод для ввода наименования и стоимости товаров в цикле + //выход из цикла: команда 'завершить'. В результате в строке list перечень товаров и + // их стоимость + while(Products.finishOfList) { + list = list + Products.inputOfProducts()+"\n"; + Products.exitOfList(); + } + + + //вывод данных + System.out.print("Всего добавлено в список: "+(Products.count-1)+" поз."+"\n"); + System.out.println(list); + System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); + System.out.println("Делим на: "+sTart.numberOfPeople+" участников"); + result=Products.total/sTart.numberOfPeople; + System.out.println("Каждый участник должен заплатить: "); + //вызываем метод правильного окончания слова 'рубли' + EndofRUB.endOfWord(result); + } } diff --git a/src/main/java/People.java b/src/main/java/People.java index 2279f7f..9012e19 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -3,7 +3,7 @@ public class People { - static Short numberOfPeople;//объявляем статическую переменную для передачи в класс Main + static Short numberOfPeople;//объявляем статическую переменную число участников для передачи в класс Main public static void countPeople() { Scanner scanner=new Scanner(System.in); diff --git a/src/main/java/Products.java b/src/main/java/Products.java new file mode 100644 index 0000000..7155b46 --- /dev/null +++ b/src/main/java/Products.java @@ -0,0 +1,56 @@ +import java.util.Scanner; + +public class Products { + + + String Name;//объявляем статическую переменную списка позиций для передачи в класс Main + Double Price; + static int count = 1; + static String name1; + static Double total=00.00; + static Boolean finishOfList=true; + + //конструктор + public Products(String Name, double Price) { + this.Name = Name; + this.Price = Price; + + } + //метод составления списка товаров + public static String inputOfProducts() { + + Scanner scanner = new Scanner(System.in); + System.out.println("Укажите наименование Товара:"); + String name1 = scanner.next(); + System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); + String price1 = scanner.next(); + //преобразуем строковую переменную price1 в формат Double + Double j=Double.parseDouble(price1); + //записываем в name1 наименование и цену товара + name1=String.format( "Поз."+count+": "+name1+" "+ "%.2f"+" руб.",j); + System.out.println("Товар добавлен в список "+ name1); + count++;//количество позиций в списке + total=total+j;//вычисляем общую стоимость всех введенных товаров + return name1;//на выходе в name1 добавленный товар и его цена + } + + //метод проверки выхода из процесса составления списка товаров + public static Boolean exitOfList() { + + Scanner scanner = new Scanner(System.in); + System.out.println("Хотите добавить что нибудь ещё?"+" Если да, введите любой символ или слово :"); + System.out.println("Если добавить нечего введите 'завершить':"); + String add = scanner.next(); + if(add.equalsIgnoreCase("завершить")) { + finishOfList=false; + //break; + + } else{ + finishOfList=true; + } + return finishOfList; + } + + + +} \ No newline at end of file From d318a18a1a9977bc6d9d27acc1ffa21382259d9a Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月14日 13:41:32 +0300 Subject: [PATCH 04/10] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B9=20=D0=BE=D1=82=2009年11月22日=20(=D0=94?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5=D0=B5=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=B0=D0=BC=202=20=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BD=D1=82=D0=B0=20=D0=90.=D0=A8=D0=BC?= =?UTF-8?q?=D0=B0=D0=BA=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 16 ++++++++++------ src/main/java/People.java | 21 ++++++++++++--------- src/main/java/Products.java | 34 +++++++++++++++++----------------- 3 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c8fd661..278417e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -9,9 +9,12 @@ public static void main(String[] args) { String list=""; Double result=0.00; - //вводим количество участников и сохраняем в переменной sTart - People sTart=new People(); - sTart.countPeople(); + //вводим количество участников и сохраняем в переменной people + + People.countPeople();// все поля и методы класса помечены static, это означает, что для + // работы с ними не нужно создавать экземпляр класса, а можно + // вызвать его напрямую из класса, например People.countPeople() + // (а не объявлять эекземпляр People people=new People();) // вызываем метод для ввода наименования и стоимости товаров в цикле //выход из цикла: команда 'завершить'. В результате в строке list перечень товаров и @@ -25,9 +28,10 @@ public static void main(String[] args) { //вывод данных System.out.print("Всего добавлено в список: "+(Products.count-1)+" поз."+"\n"); System.out.println(list); - System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); - System.out.println("Делим на: "+sTart.numberOfPeople+" участников"); - result=Products.total/sTart.numberOfPeople; + //System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); + System.out.printf("Итого: "+"%.2f"+ "руб.%n",Products.total); + System.out.println("Делим на: "+People.numberOfPeople+" участников"); + result=Products.total/People.numberOfPeople; System.out.println("Каждый участник должен заплатить: "); //вызываем метод правильного окончания слова 'рубли' EndofRUB.endOfWord(result); diff --git a/src/main/java/People.java b/src/main/java/People.java index 9012e19..32a027b 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -13,21 +13,24 @@ public static void countPeople() { while (true) { System.out.println("На сколько человек разделить счёт?"); - if (scanner.hasNext()){ + if (scanner.hasNextInt()){ numberOfPeople = scanner.nextShort(); - if (numberOfPeople> 1) { - System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников - break; - } - - if (numberOfPeople <= 1) { - System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); - } + if (numberOfPeople> 1) { + System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников + break; + }else{ + if (numberOfPeople <= 1) { + System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); + } + } + }else{ System.out.println("Неправильный ввод. Попробуйте ввести число участников в числовом формате."); scanner.nextLine(); + } + } } diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 7155b46..733b0b4 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -3,17 +3,17 @@ public class Products { - String Name;//объявляем статическую переменную списка позиций для передачи в класс Main - Double Price; + String name;//объявляем статическую переменную списка позиций для передачи в класс Main + Double price; static int count = 1; - static String name1; + static String nameOfgoods; static Double total=00.00; static Boolean finishOfList=true; //конструктор - public Products(String Name, double Price) { - this.Name = Name; - this.Price = Price; + public Products(String name, double price) { + this.name = name; + this.price = price; } //метод составления списка товаров @@ -21,22 +21,22 @@ public static String inputOfProducts() { Scanner scanner = new Scanner(System.in); System.out.println("Укажите наименование Товара:"); - String name1 = scanner.next(); + String nameOfgoods = scanner.next(); System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); - String price1 = scanner.next(); - //преобразуем строковую переменную price1 в формат Double - Double j=Double.parseDouble(price1); - //записываем в name1 наименование и цену товара - name1=String.format( "Поз."+count+": "+name1+" "+ "%.2f"+" руб.",j); - System.out.println("Товар добавлен в список "+ name1); + String priceOfgood = scanner.next(); + //преобразуем строковую переменную priceOfgood в формат Double + Double j=Double.parseDouble(priceOfgood); + //записываем в nameOfgoods наименование и цену товара + nameOfgoods=String.format( "Поз."+count+": "+nameOfgoods+" "+ "%.2f"+" руб.",j); + System.out.println("Товар добавлен в список "+ nameOfgoods); count++;//количество позиций в списке - total=total+j;//вычисляем общую стоимость всех введенных товаров - return name1;//на выходе в name1 добавленный товар и его цена + total+=j;//вычисляем общую стоимость всех введенных товаров + return nameOfgoods;//на выходе в name добавленный товар и его цена } //метод проверки выхода из процесса составления списка товаров - public static Boolean exitOfList() { + public static void exitOfList() { Scanner scanner = new Scanner(System.in); System.out.println("Хотите добавить что нибудь ещё?"+" Если да, введите любой символ или слово :"); System.out.println("Если добавить нечего введите 'завершить':"); @@ -48,7 +48,7 @@ public static Boolean exitOfList() { } else{ finishOfList=true; } - return finishOfList; + return; } From 612491cf6e6d8a46faf20d1894ae6877ce118167 Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月14日 13:41:32 +0300 Subject: [PATCH 05/10] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B9=20=D0=BE=D1=82=2009年11月22日=20(=D0=94?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5=D0=B5=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=B0=D0=BC=202=20=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BD=D1=82=D0=B0=20=D0=90.=D0=A8=D0=BC?= =?UTF-8?q?=D0=B0=D0=BA=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 16 ++++++++++------ src/main/java/People.java | 21 ++++++++++++--------- src/main/java/Products.java | 34 +++++++++++++++++----------------- 3 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c8fd661..278417e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -9,9 +9,12 @@ public static void main(String[] args) { String list=""; Double result=0.00; - //вводим количество участников и сохраняем в переменной sTart - People sTart=new People(); - sTart.countPeople(); + //вводим количество участников и сохраняем в переменной people + + People.countPeople();// все поля и методы класса помечены static, это означает, что для + // работы с ними не нужно создавать экземпляр класса, а можно + // вызвать его напрямую из класса, например People.countPeople() + // (а не объявлять эекземпляр People people=new People();) // вызываем метод для ввода наименования и стоимости товаров в цикле //выход из цикла: команда 'завершить'. В результате в строке list перечень товаров и @@ -25,9 +28,10 @@ public static void main(String[] args) { //вывод данных System.out.print("Всего добавлено в список: "+(Products.count-1)+" поз."+"\n"); System.out.println(list); - System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); - System.out.println("Делим на: "+sTart.numberOfPeople+" участников"); - result=Products.total/sTart.numberOfPeople; + //System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); + System.out.printf("Итого: "+"%.2f"+ "руб.%n",Products.total); + System.out.println("Делим на: "+People.numberOfPeople+" участников"); + result=Products.total/People.numberOfPeople; System.out.println("Каждый участник должен заплатить: "); //вызываем метод правильного окончания слова 'рубли' EndofRUB.endOfWord(result); diff --git a/src/main/java/People.java b/src/main/java/People.java index 9012e19..32a027b 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -13,21 +13,24 @@ public static void countPeople() { while (true) { System.out.println("На сколько человек разделить счёт?"); - if (scanner.hasNext()){ + if (scanner.hasNextInt()){ numberOfPeople = scanner.nextShort(); - if (numberOfPeople> 1) { - System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников - break; - } - - if (numberOfPeople <= 1) { - System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); - } + if (numberOfPeople> 1) { + System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников + break; + }else{ + if (numberOfPeople <= 1) { + System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); + } + } + }else{ System.out.println("Неправильный ввод. Попробуйте ввести число участников в числовом формате."); scanner.nextLine(); + } + } } diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 7155b46..733b0b4 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -3,17 +3,17 @@ public class Products { - String Name;//объявляем статическую переменную списка позиций для передачи в класс Main - Double Price; + String name;//объявляем статическую переменную списка позиций для передачи в класс Main + Double price; static int count = 1; - static String name1; + static String nameOfgoods; static Double total=00.00; static Boolean finishOfList=true; //конструктор - public Products(String Name, double Price) { - this.Name = Name; - this.Price = Price; + public Products(String name, double price) { + this.name = name; + this.price = price; } //метод составления списка товаров @@ -21,22 +21,22 @@ public static String inputOfProducts() { Scanner scanner = new Scanner(System.in); System.out.println("Укажите наименование Товара:"); - String name1 = scanner.next(); + String nameOfgoods = scanner.next(); System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); - String price1 = scanner.next(); - //преобразуем строковую переменную price1 в формат Double - Double j=Double.parseDouble(price1); - //записываем в name1 наименование и цену товара - name1=String.format( "Поз."+count+": "+name1+" "+ "%.2f"+" руб.",j); - System.out.println("Товар добавлен в список "+ name1); + String priceOfgood = scanner.next(); + //преобразуем строковую переменную priceOfgood в формат Double + Double j=Double.parseDouble(priceOfgood); + //записываем в nameOfgoods наименование и цену товара + nameOfgoods=String.format( "Поз."+count+": "+nameOfgoods+" "+ "%.2f"+" руб.",j); + System.out.println("Товар добавлен в список "+ nameOfgoods); count++;//количество позиций в списке - total=total+j;//вычисляем общую стоимость всех введенных товаров - return name1;//на выходе в name1 добавленный товар и его цена + total+=j;//вычисляем общую стоимость всех введенных товаров + return nameOfgoods;//на выходе в name добавленный товар и его цена } //метод проверки выхода из процесса составления списка товаров - public static Boolean exitOfList() { + public static void exitOfList() { Scanner scanner = new Scanner(System.in); System.out.println("Хотите добавить что нибудь ещё?"+" Если да, введите любой символ или слово :"); System.out.println("Если добавить нечего введите 'завершить':"); @@ -48,7 +48,7 @@ public static Boolean exitOfList() { } else{ finishOfList=true; } - return finishOfList; + return; } From 20a83e0b161dd5f366621da72cff28bcdae608b6 Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月26日 18:28:11 +0300 Subject: [PATCH 06/10] Merge remote-tracking branch 'origin/master' --- src/main/java/Main.java | 3 ++- src/main/java/Test.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Test.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 278417e..388fa5d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,7 +1,8 @@ public class Main { public static void main(String[] args) { - // ваш код начнется здесь + //повторная отправка испарвленного файла от 14.11 + // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости //System.out.println("Привет Мир"); diff --git a/src/main/java/Test.java b/src/main/java/Test.java new file mode 100644 index 0000000..91dd25a --- /dev/null +++ b/src/main/java/Test.java @@ -0,0 +1,18 @@ +import java.util.Scanner; + + +public class Test { + + static String name; + static int age; + + //для домашних котов + public void Test (String name, int age) { + this.name = name; + this.age = age; + } + + //для уличных котов + public void Test() { + } +} From 4678bedd16ffec297cd832648dabcd11db89456e Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月26日 18:28:51 +0300 Subject: [PATCH 07/10] Merge remote-tracking branch 'origin/master' --- src/main/java/EndofRUB.java | 2 +- src/main/java/Main.java | 2 +- src/main/java/People.java | 2 +- src/main/java/Products.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/EndofRUB.java b/src/main/java/EndofRUB.java index 705ef32..83946c2 100644 --- a/src/main/java/EndofRUB.java +++ b/src/main/java/EndofRUB.java @@ -1,6 +1,6 @@ public class EndofRUB { -//Метод проверки падежа и окончания в слове руб. +// Метод проверки падежа и окончания в слове руб. //Для определения нужного падежа достаточно проверять последние 1-2 цифры числа //Для этого выделяем их из числа с помощью Math.floor()-возвращает число ближайшее // к аргументу слева. Если остаток будет равен 1 -окончание "рубль", если 11 - "рублей" diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 388fa5d..7d94e4d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -6,7 +6,7 @@ public static void main(String[] args) { // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости //System.out.println("Привет Мир"); - //static short numberOfPeople; + // static short numberOfPeople; String list=""; Double result=0.00; diff --git a/src/main/java/People.java b/src/main/java/People.java index 32a027b..06c4933 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -3,7 +3,7 @@ public class People { - static Short numberOfPeople;//объявляем статическую переменную число участников для передачи в класс Main + static Short numberOfPeople;// объявляем статическую переменную число участников для передачи в класс Main public static void countPeople() { Scanner scanner=new Scanner(System.in); diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 733b0b4..79a9dbf 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -3,7 +3,7 @@ public class Products { - String name;//объявляем статическую переменную списка позиций для передачи в класс Main + String name;// объявляем статическую переменную списка позиций для передачи в класс Main Double price; static int count = 1; static String nameOfgoods; From 05a937152c4b67627e522e9e321b89db836f3037 Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月26日 22:47:03 +0300 Subject: [PATCH 08/10] Merge remote-tracking branch 'origin/master' --- src/main/java/Products.java | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 79a9dbf..2e597e9 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -23,14 +23,33 @@ public static String inputOfProducts() { System.out.println("Укажите наименование Товара:"); String nameOfgoods = scanner.next(); System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); - String priceOfgood = scanner.next(); + + Double j; + int o; + while (true) { + try { + String priceOfgood = scanner.next(); + j = Double.parseDouble(priceOfgood); + if(j<0){ + o=10/0; + }else { + break; + } + } catch (Exception e) { + System.out.println("Неправильный ввод. Попробуйте ещё раз."); + scanner.nextLine(); + } + } + //начало исправления + //String priceOfgood = scanner.next(); //преобразуем строковую переменную priceOfgood в формат Double - Double j=Double.parseDouble(priceOfgood); + //Double j=Double.parseDouble(priceOfgood); + //конец исправления //записываем в nameOfgoods наименование и цену товара - nameOfgoods=String.format( "Поз."+count+": "+nameOfgoods+" "+ "%.2f"+" руб.",j); - System.out.println("Товар добавлен в список "+ nameOfgoods); + nameOfgoods = String.format("Поз." + count + ": " + nameOfgoods + " " + "%.2f" + " руб.", j); + System.out.println("Товар добавлен в список " + nameOfgoods); count++;//количество позиций в списке - total+=j;//вычисляем общую стоимость всех введенных товаров + total += j;//вычисляем общую стоимость всех введенных товаров return nameOfgoods;//на выходе в name добавленный товар и его цена } @@ -51,6 +70,4 @@ public static void exitOfList() { return; } - - } \ No newline at end of file From b977276fde8ac4f4e0dc14fdae29fb00ba3264e5 Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月26日 22:48:01 +0300 Subject: [PATCH 09/10] Merge remote-tracking branch 'origin/master' --- src/main/java/EndofRUB.java | 2 +- src/main/java/Main.java | 2 +- src/main/java/People.java | 2 +- src/main/java/Products.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/EndofRUB.java b/src/main/java/EndofRUB.java index 83946c2..036f6f5 100644 --- a/src/main/java/EndofRUB.java +++ b/src/main/java/EndofRUB.java @@ -1,7 +1,7 @@ public class EndofRUB { // Метод проверки падежа и окончания в слове руб. -//Для определения нужного падежа достаточно проверять последние 1-2 цифры числа +// Для определения нужного падежа достаточно проверять последние 1-2 цифры числа //Для этого выделяем их из числа с помощью Math.floor()-возвращает число ближайшее // к аргументу слева. Если остаток будет равен 1 -окончание "рубль", если 11 - "рублей" // аналогично с 2;3 и 4.Поэтому необходимое условие для этих цифр result % 100>= 11 && result % 100 <= 14 diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 0f20619..f27fc14 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,7 +3,7 @@ public class Main { public static void main(String[] args) { // ваш код начнется здесь -======= + //повторная отправка испарвленного файла от 14.11 // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости diff --git a/src/main/java/People.java b/src/main/java/People.java index 06c4933..d227798 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -3,7 +3,7 @@ public class People { - static Short numberOfPeople;// объявляем статическую переменную число участников для передачи в класс Main + static Short numberOfPeople;// объявляем статическую переменную число участников для передачи в класс Main public static void countPeople() { Scanner scanner=new Scanner(System.in); diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 2e597e9..8601bc7 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -16,7 +16,7 @@ public Products(String name, double price) { this.price = price; } - //метод составления списка товаров + // метод составления списка товаров public static String inputOfProducts() { Scanner scanner = new Scanner(System.in); From 461b194a659c09ab6c488b27968a1c9104b3a20e Mon Sep 17 00:00:00 2001 From: AshZoom Date: 2022年11月30日 12:28:33 +0300 Subject: [PATCH 10/10] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B9=20=D0=BF=D0=BE=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B5=D1=82=D0=BA=D0=BD=D0=BE=D0=B9=20=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B5=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 14 +++----------- src/main/java/Products.java | 20 ++++---------------- 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index f27fc14..c42d388 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,11 +1,10 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { // ваш код начнется здесь - - //повторная отправка испарвленного файла от 14.11 - // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости //System.out.println("Привет Мир"); @@ -15,14 +14,7 @@ public static void main(String[] args) { //вводим количество участников и сохраняем в переменной people - People.countPeople();// все поля и методы класса помечены static, это означает, что для - // работы с ними не нужно создавать экземпляр класса, а можно - // вызвать его напрямую из класса, например People.countPeople() - // (а не объявлять эекземпляр People people=new People();) - - // вызываем метод для ввода наименования и стоимости товаров в цикле - //выход из цикла: команда 'завершить'. В результате в строке list перечень товаров и - // их стоимость + People.countPeople(); while(Products.finishOfList) { list = list + Products.inputOfProducts()+"\n"; Products.exitOfList(); diff --git a/src/main/java/Products.java b/src/main/java/Products.java index 8601bc7..0916b95 100644 --- a/src/main/java/Products.java +++ b/src/main/java/Products.java @@ -25,26 +25,21 @@ public static String inputOfProducts() { System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); Double j; - int o; while (true) { try { String priceOfgood = scanner.next(); j = Double.parseDouble(priceOfgood); if(j<0){ - o=10/0; + System.out.println("Неправильный ввод. Попробуйте ещё раз."); }else { - break; + break; } } catch (Exception e) { System.out.println("Неправильный ввод. Попробуйте ещё раз."); scanner.nextLine(); } } - //начало исправления - //String priceOfgood = scanner.next(); - //преобразуем строковую переменную priceOfgood в формат Double - //Double j=Double.parseDouble(priceOfgood); - //конец исправления + //записываем в nameOfgoods наименование и цену товара nameOfgoods = String.format("Поз." + count + ": " + nameOfgoods + " " + "%.2f" + " руб.", j); System.out.println("Товар добавлен в список " + nameOfgoods); @@ -60,14 +55,7 @@ public static void exitOfList() { System.out.println("Хотите добавить что нибудь ещё?"+" Если да, введите любой символ или слово :"); System.out.println("Если добавить нечего введите 'завершить':"); String add = scanner.next(); - if(add.equalsIgnoreCase("завершить")) { - finishOfList=false; - //break; - - } else{ - finishOfList=true; + finishOfList= !add.equalsIgnoreCase("завершить"); } - return; - } } \ No newline at end of file

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