Skip to content

Instantly share code, notes, and snippets.

@iamricard
Created October 17, 2013 13:50
Show Gist options
  • Save iamricard/7025235 to your computer and use it in GitHub Desktop.
Save iamricard/7025235 to your computer and use it in GitHub Desktop.
// 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