Repository navigation
Conversation
| Scanner sc = new Scanner(System.in); | ||
| while (true) { | ||
| System.out.println("На какое количество человек хотите разделить счёт? (цифрой)"); | ||
| guestsNum = sc.nextInt(); |
There was a problem hiding this comment.
Если ввести значение не типа int в консоль, данный метод выбросит исключение. У Scanner есть удобный метод hasNextInt, можно сразу узнать без дополнительных проверок возможно ли интерпретировать строку как int
| allDishName += dishName + "\n"; | ||
| } | ||
| System.out.println("Введите стоимость блюда цифрами"); | ||
| dishPrice = sc.nextDouble(); |
| @@ -0,0 +1,2 @@ | |||
| public class Price { | |||
There was a problem hiding this comment.
Так не прокатит) Код нужно логически поделить на части (классы)
| String str2 = "Количество гостей - " + guestsNum; | ||
| System.out.println(str2 + " чел."); | ||
| String str3 ="Сумма для каждого гостя: " + allDishPrice/guestsNum; | ||
| System.out.println(str3 + " рублей"); |
There was a problem hiding this comment.
Некорректно рассчитывается окончание. Правильный алгоритм звучит так - Проверить лежит ли остаток от деления частного на 100 в интервале от 11 до 14 включительно, если да, то возвращаем рублей, если нет, то берем остаток от деления на 10 и проверяем - если 1, то рубль, 2-4 то рубля, в остальных случаях - рублей. То есть нужно во-первых проверять именно остаток от деления, во-вторых учесть, что числа заканчивающиеся на 11-12-13-14 и заканчивающиеся на 1-2-3-4, будут иметь разные окончания
|
Добрый день! "Код нужно поделить на части", - можно ли использовать внутренние классы, или обязательно создать дополнительный внешний? На вторую сдачу задания создавать пул реквест к исходнику яндекса, или просто отправить ссылку на новый код в github? 22:21, 11 февраля 2023 г., "gusar-off" ***@***.***>:
@gusar-off commented on this pull request.
In src/main/java/Main.java:
public static void main(String[] args) {
- // ваш код начнется здесь
- // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости
- System.out.println("Привет Мир");
+ int guestsNum;
+ String dishName;
+ String allDishName = "";
+ double dishPrice;
+ double allDishPrice = 0;
+ Scanner sc = new Scanner(System.in);
+ while (true) {
+ System.out.println("На какое количество человек хотите разделить счёт? (цифрой)");
+ guestsNum = sc.nextInt();
Если ввести значение не типа int в консоль, данный метод выбросит исключение. У Scanner есть удобный метод hasNextInt, можно сразу узнать без дополнительных проверок возможно ли интерпретировать строку как int
In src/main/java/Main.java:
+ } else if (guestsNum == 1) {
+ System.out.println("Нет смысла делить счёт");
+ } else {
+ System.out.println("Введите корректное количество гостей");
+ }
+ }
+ while (true) {
+ System.out.println("Введите наименование блюда");
+ dishName = sc.next();
+ if (dishName.equalsIgnoreCase("завершить")) {
+ break;
+ } else {
+ allDishName += dishName + "\n";
+ }
+ System.out.println("Введите стоимость блюда цифрами");
+ dishPrice = sc.nextDouble();
Тут тоже самое только hasNextDouble
In src/main/java/Price.java:
@@ -0,0 +1,2 @@
+public class Price {
Так не прокатит) Код нужно логически поделить на части (классы)
In src/main/java/Main.java:
+ }
+ System.out.println("Введите стоимость блюда цифрами");
+ dishPrice = sc.nextDouble();
+ if (dishPrice > 0) {
+ allDishPrice+=dishPrice;
+ } else {
+ System.out.println("Введите цену больше 0 и в нужном формате");
+ }
+ System.out.println("Блюдо добавлено в счёт.\nЕсли хотите добавить ещё блюдо в счёт - введите его название:\nЧтобы завершить список введите: Завершить");
+ }
+ String str1 = "Список блюд: " + "\n" + allDishName;
+ System.out.println(str1);
+ String str2 = "Количество гостей - " + guestsNum;
+ System.out.println(str2 + " чел.");
+ String str3 ="Сумма для каждого гостя: " + allDishPrice/guestsNum;
+ System.out.println(str3 + " рублей");
Некорректно рассчитывается окончание. Правильный алгоритм звучит так - Проверить лежит ли остаток от деления частного на 100 в интервале от 11 до 14 включительно, если да, то возвращаем рублей, если нет, то берем остаток от деления на 10 и проверяем - если 1, то рубль, 2-4 то рубля, в остальных случаях - рублей. То есть нужно во-первых проверять именно остаток от деления, во-вторых учесть, что числа заканчивающиеся на 11-12-13-14 и заканчивающиеся на 1-2-3-4, будут иметь разные окончания
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
-- Отправлено из мобильного приложения Яндекс Почты
|
No description provided.