Repository navigation
Яндекс практикум, консольное приложение № 1 - #1
alexmitchenko wants to merge 4 commits into
Conversation
| return "рубль"; | ||
| } else | ||
| return "рублей"; | ||
| } |
There was a problem hiding this comment.
Идущие подряд множественные if - else if - else можно ещё заменить конструкцией switch-case
| } | ||
| else { | ||
| System.out.print("Ошибка: неверный ввод!\n"); | ||
| } |
There was a problem hiding this comment.
Можно убрать этот блок с else, выводить сообщение "Ошибка: неверный ввод!" в конце while вне всех if-else - так можно сократить и оптимизировать этот блок
|
Я увидел на почте комментарии про то, что функционал с окончаниями работает корректно. Я сейчас проверил - всё действительно работает верно. Если после последней проверки не был запушен другой вариант этого функционала, то я, видимо, тогда ошибся и по ошибке написал замечания по другой программе к вашему заданию. Если так, то прошу прощения. |
|
Добрый день! Я сделал новый комит. Блок кода, отвечающий за выбор падежа валюты, не менялся. Была найдена и исправлена ошибка, которая могла в ряде случаев приводить к выводу неверного падежа валюты при выводе суммы, которую должен уплатить каждый участник. Вместо обработки значения shareRatio обрабатывалось значение totalPrice. При выводе списка товаров с ценами все изначально обрабатывалось корректно. Относительно предложенных доработок, вот вариант кода для упрощения блока ввода количества участников: while (true) { В итоге я не стал его использовать, поскольку обработка ввода визуально замедлилась, хотя и работает корректно. Вероятно, я не до конца понимаю, как работает класс scanner, в дальнейшем я попытаюсь упростить код, но пока сдаю программу, как есть. Заменить if-else в блоке выбора падежа валюты c использованием switch-case я не смог, поскольку там сложное условие, сравнивающее две переменных, плюс java принимает в качестве case только значения, в результате реализация через несколько блоков switch-case на мой взгляд, только ухудшит восприятие и читаемость кода. Если я не прав и вам не сложно, я бы посмотрел на пример реализации через switch-case. Спасибо за ревью! |
|
Что мне нужно сделать теперь чтобы сдать программу? |
| goodPrice = input; | ||
| break; | ||
| } else { | ||
| System.out.print("Ошибка: неверный ввод!\n"); |
There was a problem hiding this comment.
Строка "Ошибка: неверный ввод!\n" встречается несколько раз в программе, имеет смысл вынести её в отдельную переменную. Основное преимущество такого подхода - при необходимости поменять текст надо будет поменять только текст в переменной
В вашем случае пожалуй да, потому что используются две переменные. Это некритично и разные варианты подходят, лишь бы хорошо работало и было читаемо, но в целом можно ещё написать что-то такое: |
Версия 1.0