Repository navigation
First project YP - #22
PavelRomashin wants to merge 3 commits into
Conversation
| while (true) { //Цикл ввода количества персон, на которое делится счет | ||
| System.out.println("На сколько человек нужно разделить счёт?\nВведите целым числом"); | ||
| Scanner scanner = new Scanner(System.in); // Ввод числа людей | ||
| x = scanner.nextInt();// Запоминаем число |
There was a problem hiding this comment.
Пользователь может не послушать рекомендацию "Введите целым числом" и ввести строку, тогда приложение упадет. Лучше такого не допускать, а обрабатывать. Можно использовать метод scanner.hasNextInt() или try-catch
| // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости | ||
| System.out.println("Привет Мир"); | ||
|
|
||
| int x; |
There was a problem hiding this comment.
Это не очень информативное название для переменной, коллегам придётся вникать, для чего она используется. Лучше задать понятное имя, например, personCount
| System.out.println("На сколько человек нужно разделить счёт?\nВведите целым числом"); | ||
| Scanner scanner = new Scanner(System.in); // Ввод числа людей | ||
| x = scanner.nextInt();// Запоминаем число | ||
| System.out.println(x);//проверка 1 - вывод числа |
There was a problem hiding this comment.
Такие отладочные выводы можно делать для себя, но при сдаче работы лучше их закомментировать, всё-таки в реальном приложении такие вещи пользователям попадать не должны
| else { | ||
| System.out.println(String.format(message,sum/persons) + message3); | ||
| } | ||
| } |
There was a problem hiding this comment.
Видно, что местами не хватает отступов или пробелов (в условиях выше, например), ты можешь применить в студии автоформатирование (в выбранном файле, сверху вкладка Code - Reformat Code, либо Ctrl+Alt+L), тогда автоматически код выправится.
| if (sum1%10>=2||sum1%10<=4) { | ||
| System.out.println(String.format(message,sum/persons) + message2); // окончание"рубля" | ||
| } | ||
| else if (sum1%10 ==1){ |
There was a problem hiding this comment.
sum1%10 повторяется несколько раз, можно вынести в переменную и сравнивать уже с ней
| System.out.println("Введите название товара или напишите \"завершить\""); | ||
| Scanner scanner = new Scanner(System.in);// Ввод | ||
| String pos = scanner.next();//Считывание названия товара | ||
| if (pos.equalsIgnoreCase("завершить") == false) {// проверяем, что "не завершить" |
There was a problem hiding this comment.
Условие можно заменить на !pos.equalsIgnoreCase("завершить"), это будет то же самое. ! - это "not" оператор
| while (true) { | ||
| System.out.println("введите стоимость товара в формате рубли.копейки [10.45, 11.40]"); | ||
| double price;//Считывание цены товара | ||
| price = scanner.nextDouble(); |
There was a problem hiding this comment.
Если ввести число в формате 10.45, приложение упадет. А вот ввод через запятую принимает. Можно разобраться, почему так происходит, и в любом случае обработать возможную ситуацию, когда введена строка вместо числа, чтобы приложение не падало
| public class Calculator { | ||
| String goods =""; | ||
| double sum = 0.00; | ||
| double sum1 = 0.00; |
There was a problem hiding this comment.
Не очень информативные названия для переменных, коллегам будет трудно понимать. И sum1 используется только в методе totalSum, можно туда и перенести её.
| System.out.println(String.format(message,sum/persons) + message1); | ||
| } | ||
| else { | ||
| System.out.println(String.format(message,sum/persons) + message3); |
There was a problem hiding this comment.
Код System.out.println(String.format(message,sum/persons) + <...>); повторяется, его можно вынести вниз, после if-else, оставив в проверке только определение слово рубль
| String message3 ="рублей"; | ||
| sum1 = Math.floor(sum/persons); | ||
|
|
||
| if (sum1%10>=2||sum1%10<=4) { |
There was a problem hiding this comment.
Если сумма будет оканчиваться на 5, окончание будет "рубля" вместо "рублей". Потому что условие здесь должно быть &&, то есть "и", а не || ("или"). Сейчас сначала идет проверка, что число >=2, если так и есть, то входим в первую ветку, а должна быть ещё проверка, что число <=4
| double sum = 0.00; | ||
| double sum1 = 0.00; | ||
| String goods ="";// Строка, хранящая перечень всех товаров | ||
| double sum = 0.00;// Строка, хранящая сумму всех товаров |
There was a problem hiding this comment.
имелось ввиду не написать комментарии к переменным, а дать новое имя, которые лучше бы отражало суть переменной, например sumAllGoods
| } | ||
| public void totalSum (int persons){ | ||
| public void totalSum (int persons){// функция вычисления, сколько должен каждый | ||
| double sum1 = 0.00; |
There was a problem hiding this comment.
так же здесь не понятно что такое sum1 и что в ней храниться
My first try at Java