Задача 11 - Conditional Statements Advanced - Fruit Shop
Може ли помощ , колеги . На изхода , който трябва да изписва "error" ми изписва - 0 . Оставям paste от pastebin - https://pastebin.com/j859WQYU . Не мога да се сетя как да го направя .
Може ли помощ , колеги . На изхода , който трябва да изписва "error" ми изписва - 0 . Оставям paste от pastebin - https://pastebin.com/j859WQYU . Не мога да се сетя как да го направя .
Липсва валдацията по име на плода.
Ето вариант за решаване на проблема с наличните до момента знания:
1. Създайте bool променлива, която да маркира невалиден вход (ден от седмицата или име на плод)
2. Обединете проверките по име на плода в if/else if/.../else (невалиден плод)
3. Отпечатването на резултата е накрая, като може да е или валидна цена или "error" при сетнат флаг за грешен вход
Нещо такова:
        double cost = 0;
        bool invalidInput = false;
 
        if (dayOfWeek.equals("Monday") || dayOfWeek.equals("Tuesday") || dayOfWeek.equals("Wednesday") ||
                dayOfWeek.equals("Thursday") || dayOfWeek.equals("Friday")) {
 
            if (fruit.equals("banana")) {
                cost = 2.50;
            } else if (fruit.equals("apple")) {
            // .....
            } else {
                invalidInput = true; // invalid fruit
            }
        } else if (dayOfWeek.equals("Saturday") || dayOfWeek.equals("Sunday")) {
 
            // .....
        } else {
            invalidInput = true; // invalid day
        }
        if (invalidInput) {
           System.out.println("error");
        } else {
            double result = cost * quantity;
            System.out.printf("%.2f", result);
        }