Conversation
SeveNChaK
left a comment
There was a problem hiding this comment.
В некоторых файлах отступы не одинаковые - рекомендую использовать встроенные форматтер. Если ты программируешь в IDE от JetBrains, то можешь пройтись по всем файлам и нажать комбинацию (Windows: Shift + Ctrl + Alt + L, MacOS: Shift + Option + Command + L), затем выбрать, какую часть кода хочешь изменить, и выполнить команду. Среда разработки автоматически сделает нужные отступы и переносы (как она это делает можно изменить в настройках, но дефолтные значения вполне нормальные).
src/main/java/goods.java
Outdated
| @@ -0,0 +1,36 @@ | |||
| import java.util.Scanner; | |||
|
|
|||
| public class goods { | |||
There was a problem hiding this comment.
⏫ Название классов принято писать с большой буквы
src/main/java/Main.java
Outdated
| Scanner scanner = new Scanner(System.in); | ||
| System.out.println("На скольких человек необходимо разделить счёт?"); | ||
| while (true) { | ||
| countUser = scanner.nextInt(); |
There was a problem hiding this comment.
src/main/java/goods.java
Outdated
| System.out.println("Введите цену товара"); | ||
| goodsPrice = scanner.nextDouble(); | ||
| System.out.println("Товар " + goodsName + " за " + goodsPrice + " " + rubToText(goodsPrice) + " успешно добавлен. Добавьте еще или завершите." ); | ||
| goodsList = goodsList + "\n" + goodsName + " " + goodsPrice; |
There was a problem hiding this comment.
⏫ Так как String - неизменяемый класс, при каждом сложении строк создается новый экземпляр строки. А так как ты не ведешь список товаров, а сразу плюсуешь все в строку, то у тебя будет создавать очень много объектов строковых. Для таких ситуаций лучше использовать StringBuilder.
Про стринг билдер
src/main/java/goods.java
Outdated
| goodsName = scanner.next(); | ||
| if (goodsName.equalsIgnoreCase("Завершить") ) {break;} | ||
| System.out.println("Введите цену товара"); | ||
| goodsPrice = scanner.nextDouble(); |
There was a problem hiding this comment.
src/main/java/goods.java
Outdated
|
|
||
| public static String rubToText(double sumRub){ | ||
| if (sumRub<2) { return("рубль"); | ||
| } else if (sumRub>5) { return("рублей"); |
There was a problem hiding this comment.
1) Корректность склонения "Рубли"; 2) Использован String Bilder; 3) Добавлены проверки: - Ввод текста вместо цифр - Ввод отрицательных цен 4) Выровнен код через Ctrl + Alt + Shift + L 5) Исправлено написание классов "С большой буквы"
1) Корректность склонения "Рубли"; 2) Использован String Bilder; 3) Добавлены проверки: - Ввод текста вместо цифр - Ввод отрицательных цен 4) Выровнен код через Ctrl + Alt + Shift + L 5) Исправлено написание классов "С большой буквы"
Исправлены: 1) Корректность склонения "Рубли"; 2) Использован String Bilder; 3) Добавлены проверки: - Ввод текста вместо цифр - Ввод отрицательных цен 4) Выровнен код через Ctrl + Alt + Shift + L 5) Исправлено написание классов "С большой буквы"
Исправлены: 1) Корректность склонения "Рубли"; 2) Использован String Bilder; 3) Добавлены проверки: - Ввод текста вместо цифр - Ввод отрицательных цен 4) Выровнен код через Ctrl + Alt + Shift + L 5) Исправлено написание классов "С большой буквы"
Исправлены: 1) Корректность склонения "Рубли"; 2) Использован String Bilder; 3) Добавлены проверки: - Ввод текста вместо цифр - Ввод отрицательных цен 4) Выровнен код через Ctrl + Alt + Shift + L 5) Исправлено написание классов "С большой буквы"
| if (priceScanner.hasNextDouble()) { | ||
| goodsPrice = priceScanner.nextDouble(); | ||
| if (goodsPrice < 0) { | ||
| goodsPrice = Math.abs(goodsPrice); |
There was a problem hiding this comment.
Мне кажется, что лучше было бы выводить ошибку и просить повторить ввод. Но это уже так, на поразмышлять)
Задание готово