Conversation
src/main/java/Calculator.java
Outdated
| import java.util.List; | ||
|
|
||
| public class Calculator { | ||
| private List<Product>list = new ArrayList<Product>(); |
There was a problem hiding this comment.
Список продуктов может быть final, так как нигде не изменяет своего значения (то есть не присваивается новый список)
There was a problem hiding this comment.
Также можно не указвать явно тип два раза, то есть если слева уже указан , то справа это можно опустить, чтобы сделать код более лакончиным
| return ((double)Math.round(sum * 100)) / 100; | ||
| } | ||
| public double calcPastPay(){ | ||
| if(this.person > 0) |
There was a problem hiding this comment.
По идее эта проверка всегда будет true, так как в программе еще до этого проверяется, что количество больше нуля. Но в целом имеет место быть)
src/main/java/Main.java
Outdated
| System.out.println("На сколько персон необходимо поделить счет: "); | ||
| Scanner scanner = new Scanner(System.in); | ||
| int countPerson = 0; | ||
| // String nameProduct = ""; |
There was a problem hiding this comment.
Можно смело удалять неиспользуемые строки, они только ухудшают восприятие кода)
| System.out.println("Количество человек не может быть отрицательным или равным нулю!"); | ||
| }else if(countPerson == 1){ | ||
| System.out.println("Нет смысла в работе программы при количестве персон равном 0"); | ||
| }else { |
There was a problem hiding this comment.
Все, что в этом else, можно было бы вынести в отдельный метод, чтобы немного разгрузить main, а также чтобы не было сильной вложенности кода. (сначала в if, потом в while, это создает лишние отступы)
src/main/java/Main.java
Outdated
| boolean check = false; | ||
| String strPrice = ""; | ||
| while (!check) { | ||
| System.out.print("-> "); |
There was a problem hiding this comment.
Здесь можно было бы дописать текст, что программа ждет ввода стоимости продукта, это было бы немного более юзер френдли
src/main/java/Main.java
Outdated
| } | ||
| } | ||
| price = Double.parseDouble(strPrice); | ||
| Product product = new Product(tmp,price); |
There was a problem hiding this comment.
Этот объект нигде не используется, так как ниже строчкой создается точно такой же новый
src/main/java/Main.java
Outdated
| rez = true; | ||
| }else if(i == '.'){ | ||
| countPoint++; | ||
| }else if(!Character.isDigit(i) && i != '.'){ |
There was a problem hiding this comment.
Условие i != '.' всегда будет true, так как оно проверяется на один if выше. i равное точке никогда не дойдет до этого ифа, можно смело удалять. Аналогичная история и с !Character.isDigit(i). Поэтому этот блок можно сделать просто через else, без if
src/main/java/Main.java
Outdated
| } | ||
| if(countPoint <= 1){ | ||
| return rez; | ||
| }else{ |
There was a problem hiding this comment.
Здесь можно пропустить else:
if (countPoint > 1) {
rez = false;
}
return rez;
src/main/java/Product.java
Outdated
| this.price = price; | ||
| } | ||
|
|
||
| public String getName() { |
There was a problem hiding this comment.
Можно не создавать геттеров и сеттеров, если они не требуются извне. Из всех здесь и ниже, понадобился лишь getPrice
| // String nameProduct = ""; | ||
| double price = 0.0; | ||
| String next = ""; | ||
| Calculator calc = null; |
There was a problem hiding this comment.
Необязательно писать инициализаторы явно. По умолчанию double имет значение 0, строка и объект null
src/main/java/Main.java
Outdated
|
|
||
| Calculator calc = null; | ||
|
|
||
| countPerson = scanner.nextInt(); |

Это Pull Request задачи 2 спринта.