Repository navigation
Conversation
| Double result=0.00; | ||
|
|
||
| //вводим количество участников и сохраняем в переменной sTart | ||
| People sTart=new People(); |
There was a problem hiding this comment.
- Название переменной sTart не совсем понятно. Лучше делать наименования более содержательными. Тема названий, да и не только хорошо раскрывается во 2 главе книги Роберта Мартина "Чистый код". Также на хабре есть краткий конспект книги: https://habr.com/ru/post/485118/
- Также все поля и методы класса помечены static, это означает, что для работы с ними не нужно создавать экземпляр класса, а можно вызвать его напрямую из класса, например
People.countPeople()
There was a problem hiding this comment.
Исправлено
"Также на хабре есть краткий конспект книги: https://habr.com/ru/post/485118/" @azat Nabiullin: Спасибо за рекомендацию!
| System.out.println(list); | ||
| System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); | ||
| System.out.println("Делим на: "+sTart.numberOfPeople+" участников"); | ||
| result=Products.total/sTart.numberOfPeople; |
There was a problem hiding this comment.
Можно People.numberOfPeople вместо sTart.numberOfPeople
| //вывод данных | ||
| System.out.print("Всего добавлено в список: "+(Products.count-1)+" поз."+"\n"); | ||
| System.out.println(list); | ||
| System.out.println(String.format("Итого: "+"%.2f"+" руб.",Products.total)); |
There was a problem hiding this comment.
Можно использовать метод printf:
System.out.printf("Итого: "+"%.2f"+ "руб.%n",Products.total);
There was a problem hiding this comment.
Исправлено.
@azat Nabiullin:
Я правильно понимаю разницу между методом println и printf (см/ ниже)?
Используем метод System.out.printf,т.к. хотим просто вывести строку в консоль. Если бы мы хотели получить отформатированную строку для дальнейшего использования в коде, используем System.out.println.
| } | ||
|
|
||
| if (numberOfPeople <= 1) { | ||
| System.out.println("Неправильный ввод. Попробуйте ввести число участников ещё раз."); |
There was a problem hiding this comment.
Можно весь этот блок с if (numberOfPeople <= 1) просто перенести в блок else предыдущего if
There was a problem hiding this comment.
Исправлено.
Спасибо! Т.к. это моя первая программа сразу не увидел такую возможность
|
|
||
|
|
||
| String Name;//объявляем статическую переменную списка позиций для передачи в класс Main | ||
| Double Price; |
There was a problem hiding this comment.
В Java принята конвенция, по которой все имена переменных называются camelCase'ом, то есть с маленькой буквы. Почитать про конвенции названий можно здесь:
https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html
There was a problem hiding this comment.
Исправлено.
@azat Nabiullin: Спасибо за рекомендацию!
|
|
||
| Scanner scanner = new Scanner(System.in); | ||
| System.out.println("Укажите наименование Товара:"); | ||
| String name1 = scanner.next(); |
There was a problem hiding this comment.
Лучше избегать названий типа name1, price2 и т.д. Здесь можно назвать просто name.
| name1=String.format( "Поз."+count+": "+name1+" "+ "%.2f"+" руб.",j); | ||
| System.out.println("Товар добавлен в список "+ name1); | ||
| count++;//количество позиций в списке | ||
| total=total+j;//вычисляем общую стоимость всех введенных товаров |
There was a problem hiding this comment.
Можно использовать короткую конструкцию total += j вместо total=total+j
| } | ||
|
|
||
| //метод проверки выхода из процесса составления списка товаров | ||
| public static Boolean exitOfList() { |
There was a problem hiding this comment.
Метод возвращает boolean, но при этом возвращаемый тип нигде не используется, а просто присваивается значение переменной finishOfList и в цикле while проверяется.
Так что в этом методе можно ничего не возвращать и сделать void, а возвращаемое значение убрать
…спринта А.Шмаков)
…спринта А.Шмаков)
Init commit
| } else{ | ||
| finishOfList=true; | ||
| } | ||
| return; |
There was a problem hiding this comment.
В методах, не возвращающих результат (void) return в конце метода не нужен. return нужен для возвращения результата, а смысл в void в том, что он результат не возвращает.
|
|
||
| } else{ | ||
| finishOfList=true; | ||
| } |
There was a problem hiding this comment.
Можно влю эту if-else конструкцию упростить до такой:
finishOfList= !add.equalsIgnoreCase("завершить");
There was a problem hiding this comment.
Исправлено. Не знал о такой конструкции :(
Спасибо! Буду использовать.
| String priceOfgood = scanner.next(); | ||
| j = Double.parseDouble(priceOfgood); | ||
| if(j<0){ | ||
| o=10/0; |
There was a problem hiding this comment.
Можно обойтись и без o=10/0, а просто выводить сообщение об ошибочном вводе. break в if нет так что и так будет повторный запрос ввода.
Кстати, когда надо искусственно вызвать ошибку, можно использовать конструкцию throw new Exception("Текст ошибки");
There was a problem hiding this comment.
Исправлено. Я торопился сдать работу, чтобы успеть приступить к проектной работе №2, т.к. запутался как правильно оформлять Pull Request. Опыта в программировании нет и поэтому я решил задачу"в лоб" через костыли (деление на ноль).
Спасибо! Информацию по вызову ошибку записал для дальнейшего использования/
Направляю на проверку домашнее задание по результатам 2 спринта