Conversation
src/main/java/Calculator.java
Outdated
| ArrayList<Products> productList = new ArrayList<>(); | ||
| Scanner scanner = new Scanner(System.in); | ||
|
|
||
| double sum; | ||
| int divide; |
There was a problem hiding this comment.
Поля лучше делать максимально ограниченными по видимости, в данном случае рекомендую сделать private
src/main/java/Calculator.java
Outdated
| System.out.println("Продукт " + productNew.name + " стоимостью " | ||
| + (Math.round(productNew.price * 100.0)/100.0) + | ||
| " " + formatter((Math.round(productNew.price * 100.0)/100.0)) | ||
| + " добавлен в список.\nОбщая сумма составляет: " | ||
| + (Math.round((sum) * 100.0)/100.0) + | ||
| " " + formatter((Math.round((sum) * 100.0)/100.0))); |
There was a problem hiding this comment.
Конкатенацию строк не стоит использовать в циклах из-за её затрат по памяти и скорости работы. Предпочтительнее использовать класс StringBuilder или форматирование с помощью String.format
src/main/java/Calculator.java
Outdated
| " " + formatter ((Math.round(sum * 100.0)/100.0))); | ||
|
|
||
| int name = divide; | ||
| double finalSum = sum / divide; |
There was a problem hiding this comment.
Эта строчка станет в разы понятнее, если divide переименовать в peopleCount, например
| " " + formatter ((Math.round(finalSum * 100.0)/100.0))); | ||
| } | ||
|
|
||
| public String formatter (double number) { |
There was a problem hiding this comment.
В этой функции дополнительно нужно учесть, что для чисел, которые оканчиваются на 11-19 включительно, необходимо выводить слово "рублей"
src/main/java/Products.java
Outdated
| String name; | ||
| double price; |
There was a problem hiding this comment.
Эти два поля могут быть константными:
| String name; | |
| double price; | |
| final String name; | |
| final double price; |
Это исключит их изменение извне
|
Артур, привет! |
| template = "Итоговая сумма: %.2f %s"; | ||
| System.out.println(String.format(template, sum, formatter(sum))); |
There was a problem hiding this comment.
template лучше не писать, а сразу всё в одном вызове писать, иначе потом запутаешься с этой переменной сам
Домашняя работа. Приложение калькулятор.