Задача 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);
}