import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner;
public class Pagos { private static final double IVA = 0.16; private static List platosSeleccionados = new ArrayList<>(); private static double saldoTarjeta = 0; private static String metodoPago = "";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean continuar = true;
while (continuar) {
mostrarMenuPrincipal();
int opcion = scanner.nextInt();
scanner.nextLine(); // Limpiar buffer
switch (opcion) {
case 1:
mostrarMenuDesayuno(scanner);
break;
case 2:
mostrarMenuAlmuerzo(scanner);
break;
case 3:
mostrarMenuComida(scanner);
break;
case 0:
continuar = false;
break;
default:
System.out.println("Opción no válida. Intente nuevamente.");
}
if (continuar && opcion >= 1 && opcion <= 3) {
System.out.print("¿Desea realizar otra compra? (s/n): ");
String respuesta = scanner.nextLine();
if (respuesta.equalsIgnoreCase("n")) {
continuar = false;
}
}
}
if (!platosSeleccionados.isEmpty()) {
procesarPago(scanner);
mostrarFactura();
} else {
System.out.println("Gracias por su visita. No se realizaron compras.");
}
scanner.close();
}
private static void mostrarMenuPrincipal() {
System.out.println("\n=== MENÚ PRINCIPAL ===");
System.out.println("1. Desayuno");
System.out.println("2. Almuerzo");
System.out.println("3. Comida");
System.out.println("0. Salir");
System.out.print("Seleccione una opción: ");
}
private static void mostrarMenuDesayuno(Scanner scanner) {
System.out.println("\n=== MENÚ DESAYUNO ===");
System.out.println("1. Café + Pan tostado - $3.50");
System.out.println("2. Jugo + Sandwich - $4.00");
System.out.println("3. Fruta + Yogur - $2.50");
System.out.println("4. Huevos revueltos - $5.00");
System.out.print("Seleccione un plato: ");
int opcion = scanner.nextInt();
switch (opcion) {
case 1:
platosSeleccionados.add(new Plato("Café + Pan tostado", 3.50));
break;
case 2:
platosSeleccionados.add(new Plato("Jugo + Sandwich", 4.00));
break;
case 3:
platosSeleccionados.add(new Plato("Fruta + Yogur", 2.50));
break;
case 4:
platosSeleccionados.add(new Plato("Huevos revueltos", 5.00));
break;
default:
System.out.println("Opción no válida.");
}
}
private static void mostrarMenuAlmuerzo(Scanner scanner) {
System.out.println("\n=== MENÚ ALMUERZO ===");
System.out.println("1. Sopa + Segundo - $6.50");
System.out.println("2. Ensalada + Proteína - $7.00");
System.out.println("3. Pasta - $5.50");
System.out.println("4. Menú del día - $8.00");
System.out.print("Seleccione un plato: ");
int opcion = scanner.nextInt();
switch (opcion) {
case 1:
platosSeleccionados.add(new Plato("Sopa + Segundo", 6.50));
break;
case 2:
platosSeleccionados.add(new Plato("Ensalada + Proteína", 7.00));
break;
case 3:
platosSeleccionados.add(new Plato("Pasta", 5.50));
break;
case 4:
platosSeleccionados.add(new Plato("Menú del día", 8.00));
break;
default:
System.out.println("Opción no válida.");
}
}
private static void mostrarMenuComida(Scanner scanner) {
System.out.println("\n=== MENÚ COMIDA ===");
System.out.println("1. Carne con papas - $9.50");
System.out.println("2. Pescado con arroz - $8.50");
System.out.println("3. Pollo a la parrilla - $7.50");
System.out.println("4. Menú vegetariano - $6.50");
System.out.print("Seleccione un plato: ");