Skip to content

Проектная работа №1#1

Open
nikornyakov wants to merge 4 commits intomainfrom
dev
Open

Проектная работа №1#1
nikornyakov wants to merge 4 commits intomainfrom
dev

Conversation

@nikornyakov
Copy link
Copy Markdown
Owner

Сдача проектной работы

Comment on lines +35 to +45
if (scanner.hasNextFloat()) {

float cost = scanner.nextFloat();

if (cost > 0) {
allCost += cost;
break;
} else {
System.out.println("Некорректная стоимость\nВведите в формате рублей.копеек");
scanner.nextLine();
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Здесь лучше обработать случай, когда вместо чисел пользователь ввёл строку. Вывести на консоль сообщение о некорректном вводе.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил

Comment on lines +37 to +51
public static String rublesCases(float cost, int numberPerson) {
float allRubles = cost / numberPerson;
int ruble = (int) (allRubles % 10);
String cases;
if (ruble == 1) {
cases = "рубль";
} else if (ruble >= 2 && ruble <= 4) {
cases = "рубля";
} else if (ruble >= 5 && ruble <= 9) {
cases = "рублей";
} else {
cases = "рублей";
}
return cases;
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Имеется некорректность в расчете окончания. Получается если цена будет 11 рублей, метод вернет "рубль". Здесь нужно учесть, что числа заканчивающиеся на 11-12-13-14 и заканчивающиеся на 1-2-3-4, будут с разными окончаниями. Можно использовать проверку остатка от деления на 100, на нахождение в диапазоне от 11 до 14, как вариант и т.д.

🍏 Вычисленное окончание можно вернуть прямо из if-else блока, не создавая переменную String cases. Как удобно)

    if (ruble == 1) {
        return "рубль";
    } else if (ruble >= 2 && ruble <= 4) {
        return  "рубля";
    } else {
        return  "рублей";
    }

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Исправил

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants