Pieroz123 commited on
Commit
8efe770
1 Parent(s): 938244c

Muestrame el codigo de la clase Movie en la que se base el codigo anterior

Browse files
Files changed (1) hide show
  1. README.md +88 -0
README.md CHANGED
@@ -1,3 +1,91 @@
1
  ---
2
  license: epl-2.0
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: epl-2.0
3
  ---
4
+ import java.util.*;
5
+
6
+ public class CinemaEclipse {
7
+
8
+ public static void main(String[] args) {
9
+ Scanner scanner = new Scanner(System.in);
10
+ System.out.println("Bienvenido al Cine en Eclipse. \n Por favor, seleccione una de las opciones a continuación:");
11
+ System.out.println("1. Comprar entradas");
12
+ System.out.println("2. Ver cartelera");
13
+ System.out.println("3. Ver promociones");
14
+ System.out.println("4. Salir");
15
+ int opcion = scanner.nextInt();
16
+
17
+ switch(opcion){
18
+ case 1:
19
+ comprarEntradas();
20
+ break;
21
+ case 2:
22
+ verCartelera();
23
+ break;
24
+ case 3:
25
+ verPromociones();
26
+ break;
27
+ case 4:
28
+ System.out.println("Gracias por visitar el cine en Eclipse. Hasta luego!");
29
+ break;
30
+ }
31
+ }
32
+
33
+ // Implementación del patrón GoF Factory
34
+ private static MovieFactory movieFactory = new MovieFactory();
35
+
36
+ // Colección de películas de la cartelera
37
+ private static List<Movie> cartelera = new ArrayList<>();
38
+
39
+ // Colección de promociones
40
+ private static Set<Promotion> promociones = new HashSet<>();
41
+
42
+ // Coleccion de entradas vendidas
43
+ private static Map<Movie, Integer> entradasVendidas = new HashMap<>();
44
+
45
+ // Método para comprar entradas
46
+ private static void comprarEntradas(){
47
+ Scanner scanner = new Scanner(System.in);
48
+ System.out.println("Por favor, seleccione una de las películas de la cartelera:");
49
+ for(Movie movie : cartelera){
50
+ System.out.println(movie.getTitle());
51
+ }
52
+ String peliculaSeleccionada = scanner.nextLine();
53
+
54
+ // Busca la película dentro de la cartelera
55
+ Movie movie = cartelera.stream()
56
+ .filter(m -> m.getTitle().equals(peliculaSeleccionada))
57
+ .findFirst()
58
+ .orElse(null);
59
+
60
+ if(movie != null){
61
+ System.out.println("Cuántas entradas desea comprar?");
62
+ int cantidadEntradas = scanner.nextInt();
63
+
64
+ // Usa una expresión Lambda Supplier para obtener el precio de la entrada
65
+ double precio = () -> movie.getPrice() * cantidadEntradas;
66
+
67
+ // Usa una expresión Lambda Consumer para guardar la cantidad de entradas vendidas
68
+ entradasVendidas.merge(movie, cantidadEntradas, Integer::sum);
69
+
70
+ System.out.println("El precio total es: " + precio);
71
+ System.out.println("Gracias por su compra!");
72
+ }
73
+ }
74
+
75
+ // Método para ver la cartelera
76
+ private static void verCartelera(){
77
+ System.out.println("Cartelera:");
78
+ cartelera.forEach(movie -> {
79
+ // Usa una expresión Lambda Function para imprimir la cartelera
80
+ System.out.println(movie.getTitle() + " - " + movie.getPrice() + "€");
81
+ });
82
+ }
83
+
84
+ // Método para ver las promociones
85
+ private static void verPromociones(){
86
+ System.out.println("Promociones:");
87
+ promociones.forEach(promotion -> {
88
+ System.out.println(promotion.getName() + ": " + promotion.getDiscount() + "% de descuento!");
89
+ });
90
+ }
91
+ }