Repository navigation
ПР по домашнему заданию по результатам 2 спринта #122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
83a7216
0580674
6c18393
ab6a7a3
e22643c
b852f71
fa20498
d0d3d01
d318a18
612491c
3c1fd83
20a83e0
4678bed
1224567
6093590
05a9371
cc2f795
b977276
461b194
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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- рублей |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,37 @@ | ||
| import java.util.Scanner; | ||
|
|
||
| public class Main { | ||
|
|
||
| public static void main(String[] args) { | ||
|
|
||
| // ваш код начнется здесь | ||
| // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости | ||
| System.out.println("Привет Мир"); | ||
| //System.out.println("Привет Мир"); | ||
|
|
||
| // static short numberOfPeople; | ||
| String list=""; | ||
| Double result=0.00; | ||
|
|
||
| //вводим количество участников и сохраняем в переменной people | ||
|
|
||
| People.countPeople(); | ||
| 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.printf("Итого: "+"%.2f"+ "руб.%n",Products.total); | ||
| System.out.println("Делим на: "+People.numberOfPeople+" участников"); | ||
| result=Products.total/People.numberOfPeople; | ||
| System.out.println("Каждый участник должен заплатить: "); | ||
| //вызываем метод правильного окончания слова 'рубли' | ||
| EndofRUB.endOfWord(result); | ||
|
|
||
|
|
||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
|
|
||
| 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.hasNextInt()){ | ||
| numberOfPeople = scanner.nextShort(); | ||
| if (numberOfPeople > 1) { | ||
| System.out.println("Делим счёт на "+ numberOfPeople+ " гостей");//получили число участников | ||
| break; | ||
| }else{ | ||
| if (numberOfPeople <= 1) { | ||
| System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); | ||
| } | ||
| } | ||
|
|
||
| }else{ | ||
| System.out.println("Неправильный ввод. Попробуйте ввести число участников в числовом формате."); | ||
| scanner.nextLine(); | ||
|
|
||
| } | ||
|
|
||
|
|
||
| } | ||
|
|
||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| import java.util.Scanner; | ||
|
|
||
| public class Products { | ||
|
|
||
|
|
||
| String name;// объявляем статическую переменную списка позиций для передачи в класс Main | ||
| Double price; | ||
| static int count = 1; | ||
| 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 static String inputOfProducts() { | ||
|
|
||
| Scanner scanner = new Scanner(System.in); | ||
| System.out.println("Укажите наименование Товара:"); | ||
| String nameOfgoods = scanner.next(); | ||
| System.out.println("Укажите стоимость Товара в формате 'рубли.копейки' (пример:10.45 или 11.40):"); | ||
|
|
||
| Double j; | ||
| while (true) { | ||
| try { | ||
| String priceOfgood = scanner.next(); | ||
| j = Double.parseDouble(priceOfgood); | ||
| if(j<0){ | ||
| System.out.println("Неправильный ввод. Попробуйте ещё раз."); | ||
| }else { | ||
| break; | ||
| } | ||
| } catch (Exception e) { | ||
| System.out.println("Неправильный ввод. Попробуйте ещё раз."); | ||
| scanner.nextLine(); | ||
| } | ||
| } | ||
|
|
||
| //записываем в nameOfgoods наименование и цену товара | ||
| nameOfgoods = String.format("Поз." + count + ": " + nameOfgoods + " " + "%.2f" + " руб.", j); | ||
| System.out.println("Товар добавлен в список " + nameOfgoods); | ||
| count++;//количество позиций в списке | ||
| total += j;//вычисляем общую стоимость всех введенных товаров | ||
| return nameOfgoods;//на выходе в name добавленный товар и его цена | ||
| } | ||
|
|
||
| //метод проверки выхода из процесса составления списка товаров | ||
|
|
||
| public static void exitOfList() { | ||
| Scanner scanner = new Scanner(System.in); | ||
| System.out.println("Хотите добавить что нибудь ещё?"+" Если да, введите любой символ или слово :"); | ||
| System.out.println("Если добавить нечего введите 'завершить':"); | ||
| String add = scanner.next(); | ||
| finishOfList= !add.equalsIgnoreCase("завершить"); | ||
| } | ||
|
|
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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() { | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно влю эту if-else конструкцию упростить до такой:
finishOfList= !add.equalsIgnoreCase("завершить");There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Исправлено. Не знал о такой конструкции :(
Спасибо! Буду использовать.