import java.util.*;

public class CinemaEclipse {

public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Bienvenido al Cine en Eclipse. \n Por favor, seleccione una de las opciones a continuación:"); System.out.println("1. Comprar entradas"); System.out.println("2. Ver cartelera"); System.out.println("3. Ver promociones"); System.out.println("4. Salir"); int opcion = scanner.nextInt();

  switch(opcion){
     case 1: 
        comprarEntradas();
        break;
     case 2:
        verCartelera();
        break;
     case 3:
        verPromociones();
        break;
     case 4:
        System.out.println("Gracias por visitar el cine en Eclipse. Hasta luego!");
        break;
  }

}

// Implementación del patrón GoF Factory private static MovieFactory movieFactory = new MovieFactory();

// Colección de películas de la cartelera private static List cartelera = new ArrayList<>();

// Colección de promociones private static Set promociones = new HashSet<>();

// Coleccion de entradas vendidas private static Map<Movie, Integer> entradasVendidas = new HashMap<>();

// Método para comprar entradas private static void comprarEntradas(){ Scanner scanner = new Scanner(System.in); System.out.println("Por favor, seleccione una de las películas de la cartelera:"); for(Movie movie : cartelera){ System.out.println(movie.getTitle()); } String peliculaSeleccionada = scanner.nextLine();

  // Busca la película dentro de la cartelera
  Movie movie = cartelera.stream()
     .filter(m -> m.getTitle().equals(peliculaSeleccionada))
     .findFirst()
     .orElse(null);
  
  if(movie != null){
     System.out.println("Cuántas entradas desea comprar?");
     int cantidadEntradas = scanner.nextInt();
     
     // Usa una expresión Lambda Supplier para obtener el precio de la entrada
     double precio = () -> movie.getPrice() * cantidadEntradas;
     
     // Usa una expresión Lambda Consumer para guardar la cantidad de entradas vendidas
     entradasVendidas.merge(movie, cantidadEntradas, Integer::sum);
     
     System.out.println("El precio total es: " + precio);
     System.out.println("Gracias por su compra!");
  }

}

// Método para ver la cartelera private static void verCartelera(){ System.out.println("Cartelera:"); cartelera.forEach(movie -> { // Usa una expresión Lambda Function para imprimir la cartelera System.out.println(movie.getTitle() + " - " + movie.getPrice() + "€"); }); }

// Método para ver las promociones private static void verPromociones(){ System.out.println("Promociones:"); promociones.forEach(promotion -> { System.out.println(promotion.getName() + ": " + promotion.getDiscount() + "% de descuento!"); }); } }

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.