Repository navigation
Conversation
|
🍏 Лучше именовать коммиты более явным образом, например, так: "Домашнее задание 2 спринт. Первая попытка". Или просто "Спринт 2". Это поможет ориентироваться и тебе, и ревьюерам, когда ты будешь работать над большим проектом |
| int guests = Integer.parseInt(myObj.nextLine()); | ||
| if (guests <= 1) { | ||
| System.out.println("Некореректное число гостей"); | ||
| return; |
There was a problem hiding this comment.
🍏 При ошибочном вводе пользователя сразу выбрасывает из программы. Было бы круто дать ему возможность еще раз ввести данные. Для этого тебе нужно обернуть запросы на ввод в цикл
|
|
||
| int guests = Integer.parseInt(myObj.nextLine()); | ||
| if (guests <= 1) { | ||
| System.out.println("Некореректное число гостей"); |
There was a problem hiding this comment.
🍏 Опечатка в слове "Некорректное"
| public static void main(String[] args) { | ||
| System.out.println("Hello world!"); | ||
| Scanner myObj = new Scanner(System.in); | ||
| System.out.println("Введите число гостей"); |
There was a problem hiding this comment.
🍏 Было бы классно подсказать пользователю, какое число от него ожидается (например, добавить "от 2-х человек")
| Scanner myObj = new Scanner(System.in); | ||
| System.out.println("Введите число гостей"); | ||
|
|
||
| int guests = Integer.parseInt(myObj.nextLine()); |
There was a problem hiding this comment.
🍏 Можно использовать nextInt, под капотом он сделает всю работу по парсингу:
int guests = myObj.nextInt();
| System.out.println("Введите название товара: "); | ||
| String itemName = myObj.nextLine(); | ||
| System.out.println("Введите стоимость товара: "); | ||
| double itemPrice = Double.parseDouble(myObj.nextLine()); |
There was a problem hiding this comment.
🍏 Можно использовать nextDouble, под капотом он сделает всю работу по парсингу:
int guests = myObj.nextDouble();
| while (true) { | ||
| System.out.println("Введите название товара: "); | ||
| String itemName = myObj.nextLine(); | ||
| System.out.println("Введите стоимость товара: "); |
There was a problem hiding this comment.
🍏 Хорошо бы подсказать пользователю, в каком формате ему вводить данные
| return; | ||
| } | ||
| System.out.println("Добавлен товар " + itemName + "," + itemPrice); | ||
| System.out.println("Хотите ли добавить еще товар?"); |
There was a problem hiding this comment.
🍏 Здесь тоже круто было бы, подсказать, как он должен выйти из цикла вопросов и завершить подсчет
|
|
||
| String UserInput = myObj.nextLine(); | ||
| System.out.println(UserInput.toLowerCase()); | ||
| if (UserInput.toLowerCase().equals("завершить")) { |
There was a problem hiding this comment.
🍏 Можно заменить на вот этот метод, работать будет так же.
| if (UserInput.toLowerCase().equals("завершить")) { | |
| if (UserInput.equalsIgnoreCase("завершить")) { |
| int rubles = (int) amount; | ||
| if (rubles % 10 == 1 && rubles % 100 != 11) { | ||
| return "рубль"; | ||
| } else if (rubles % 10 >= 2 && rubles % 10 <= 4 && (rubles % 100 < 10 || rubles % 100 >= 20)) { |
There was a problem hiding this comment.
🍏 Здесь у тебя несколько раз происходит операция вычисления остатка от деления на 10 и на 100. Можно рассчитать их заранее, а затем использовать в блоке if-else.
Возможно, после такого преобразования тебе удобно будет применить вместо if-else оператор switch.
https://javarush.com/groups/posts/operator-switch-v-java
|
|
||
| while (true) { | ||
| System.out.println("Введите название товара: "); | ||
| String itemName = myObj.nextLine(); |
There was a problem hiding this comment.
🍏 Сейчас пользователь может ввести вместо названия товара одни пробелы. Было бы классно исключить такой ввод. Для этого можно использовать метод строки trim, а потом проверить с помощью isEmpty.
| int guests; | ||
| while (true) { | ||
| System.out.println("Введите число гостей (от 2-х человек): "); | ||
| guests = Integer.parseInt(myObj.nextLine()); |
There was a problem hiding this comment.
| myObj.nextLine(); | ||
| userInput = myObj.nextLine().toLowerCase(); | ||
|
|
||
| } while (!userInput.equals("завершить")); |
There was a problem hiding this comment.
🍏 Чтобы заранее не приводить к строчным буквам, можно использовать следующий метод
| } while (!userInput.equals("завершить")); | |
| } while (!userInput.equalsIgnoreCase("завершить")); |
…няя работа номер 1 спринт 2 .
…няя работа номер 1 спринт 2 .
No description provided.