Created
October 17, 2013 13:50
-
-
Save iamricard/7025235 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Haz un programa en Java que solicite al usuario 5 títulos de películas y su género (mini base de | |
// datos de una videoteca). Almacena estos datos en un array multidimensional. | |
// El programa debe permitir que el usuario pueda realizar una búsqueda por palabras del título y | |
// por género. Para ello: | |
// a. Solicita al usuario una palabra de búsqueda del título. Busca en el array las | |
// coincidencias y muéstralas por consola, indicando título/s completo de la/s película/s | |
// junto su género. | |
// b. Solicita al usuario un género. Busca en el array y muestra por consola los títulos de las | |
// películas que coincidan con el género facilitado | |
import java.util.Arrays; | |
import java.io.*; | |
class Ejercicio3 { | |
public static BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); | |
public static String[][] peliculas = new String[5][2]; | |
public static final byte genero = 1; | |
public static final byte titulo = 0; | |
public static void main(String[] args) throws IOException { | |
System.out.println("BIENVENIDO A VIDEOTECA"); | |
rellenar(); | |
menu(); | |
} | |
static void menu() throws IOException { | |
Byte eleccion; | |
String input; | |
System.out.println("AQUI SU MENU"); | |
while (true) { | |
System.out.println("1- Buscar por titulo."); | |
System.out.println("2- Buscar por genero."); | |
try { | |
eleccion = Byte.parseByte(stdin.readLine()); | |
break; | |
} | |
catch (NumberFormatException ex) { | |
System.out.println("No es un numero."); | |
} | |
} | |
System.out.println("Que quiere buscar?"); | |
input = stdin.readLine(); | |
switch (eleccion) { | |
case 1: | |
buscar(input, titulo); | |
break; | |
case 2: | |
buscar(input, genero); | |
break; | |
} | |
/* | |
Fijate que aqui he puesto lo de la recursividad, | |
si tienes alguna duda dimelo y si quieres hablamos por facebook | |
o google hangout. | |
*/ | |
System.out.println("Quiere buscar otra vez? (S/n)"); | |
input = stdin.readLine().toLowerCase(); | |
switch (input) { | |
case "s": | |
menu(); | |
break; | |
default: | |
System.out.println("Bye bye!"); | |
break; | |
} | |
} | |
static void buscar(String query, Byte eleccion) { | |
boolean bandera = false; | |
for (byte i = 0; i < peliculas.length; i++) { | |
if (peliculas[i][eleccion].toLowerCase().contains(query.toLowerCase())) { | |
System.out.println("Titulo: " + peliculas[i][0] + "\nGenero: " + peliculas[i][1]); | |
bandera = true; | |
} | |
} | |
if (!bandera) { | |
System.out.println("No se ha encontrado nada!"); | |
} | |
} | |
static void rellenar() throws IOException { | |
for (byte i = 0; i < peliculas.length; i++) { | |
String input; | |
System.out.println("Introduce la pelicula numero " + (int)(i + 1)); | |
input = stdin.readLine(); | |
if (input.isEmpty()) { | |
i--; | |
System.out.println("No puede dejar el nombre en blanco."); | |
continue; | |
} | |
peliculas[i][0] = input; | |
System.out.println("Introduce el genero de la pelicula " + (int)(i + 1)); | |
input = stdin.readLine(); | |
if (input.isEmpty()) { | |
i--; | |
System.out.println("No puede dejar el genero en blanco."); | |
continue; | |
} | |
peliculas[i][1] = input; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment