Java.
Инструменты для использования:
1) enum (напитки)
2) константы (цены)
3) static (общая стоимость)
4) switch (выбор напитка)
Задание:
#1 сделайте enum DrinksMachine, умеющего делать КОФЕ, ЧАЙ, ЛИМОНАД, МОХИТО, МИНЕРАЛКУ, КОКА_КОЛУ;
#2 Сделайте класс Drinks, где константами задайте цену напитку;
#3 Произведите подсчет количества изготовленных напитков и общей суммы, которую должен заплатить клиент;
#4 Сделайте способ приготовления каждого напитка;
#5 Сделайте switch-case оператор, который будет производить напиток (вызывая соответствующий метод) в зависимости от выбора клиента;
#6 Разместите возможность выбора напитка для пользователя и в зависимости от выбора делайте ему напиток;
#7 Пользователь должен иметь возможность заказать несколько напитков
#8 И наконец клиент должен увидеть, сколько денег он должен заплатить;
Пример преобразования строки в enum:
String drinksChoice = "tea";
drinksChoice.toUpperCase();
Drinks drinks = Drinks.valueOf(drinksChoice);
Ответы
enum DrinksMachine {
COFFEE, TEA, LEMONADE, MOCHITO, MINERAL_WATER, COCA_COLA;
}
class Drinks {
public static final double COFFEE_PRICE = 2.0;
public static final double TEA_PRICE = 1.5;
public static final double LEMONADE_PRICE = 2.5;
public static final double MOCHITO_PRICE = 3.0;
public static final double MINERAL_WATER_PRICE = 1.0;
public static final double COCA_COLA_PRICE = 2.0;
private static double totalAmount = 0.0;
private static int totalDrinks = 0;
public static void makeDrink(DrinksMachine drink) {
switch (drink) {
case COFFEE:
System.out.println("Making coffee...");
break;
case TEA:
System.out.println("Making tea...");
break;
case LEMONADE:
System.out.println("Making lemonade...");
break;
case MOCHITO:
System.out.println("Making mochito...");
break;
case MINERAL_WATER:
System.out.println("Making mineral water...");
break;
case COCA_COLA:
System.out.println("Making Coca Cola...");
break;
default:
System.out.println("Invalid drink choice.");
}
totalDrinks++;
}
public static void calculateTotalAmount(DrinksMachine drink) {
switch (drink) {
case COFFEE:
totalAmount += COFFEE_PRICE;
break;
case TEA:
totalAmount += TEA_PRICE;
break;
case LEMONADE:
totalAmount += LEMONADE_PRICE;
break;
case MOCHITO:
totalAmount += MOCHITO_PRICE;
break;
case MINERAL_WATER:
totalAmount += MINERAL_WATER_PRICE;
break;
case COCA_COLA:
totalAmount += COCA_COLA_PRICE;
break;
}
}
public static void displayTotal() {
System.out.println("Total drinks: " + totalDrinks);
System.out.println("Total amount: " + totalAmount);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Select a drink:");
System.out.println("1. Coffee");
System.out.println("2. Tea");
System.out.println("3. Lemonade");
System.out.println("4. Mochito");
System.out.println("5. Mineral water");
System.out.println("6. Coca Cola");
System.out.println("7. Exit");
int choice = scanner.nextInt
DrinksMachine drink;
switch (choice) {
case 1:
drink = DrinksMachine.COFFEE;
break;
case 2:
drink = DrinksMachine.TEA;
break;
case 3:
drink = DrinksMachine.LEMONADE;
break;
case 4:
drink = DrinksMachine.MOCHITO;
break;
case 5:
drink = DrinksMachine.MINERAL_WATER;
break;
case 6:
drink = DrinksMachine.COCA_COLA;
break;
case 7:
Drinks.displayTotal();
return;
default:
System.out.println("Invalid choice.");
continue;
}
Drinks.makeDrink(drink);
Drinks.calculateTotalAmount(drink);
}
}
}