KaeruCT

sketch2

Apr 21st, 2011
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.Date;
  3. import java.text.SimpleDateFormat;
  4.  
  5. public class RutinasPeliculas{
  6.  
  7.     static int diasMaxPrestamo = 5;
  8.     static SimpleDateFormat formFecha = new SimpleDateFormat("dd/MM/yyyy");
  9.     static String[][] usuarios, peliculas, prestamos;
  10.     static String[] infoUsuarios = {"Cedula", "Nombre", "Apellido 1", "Apellido 2", "Telefono"},
  11.     infoPeliculas = {"Id", "Titulo", "Tipo", "Ano de produccion", "Ubicacion"},
  12.     infoPrestamos = {"Cedula del usuario", "Id de la pelicula", "Fecha", "Dias"};
  13.     // usuarios [cedula, nombre, apellido1, apellido2, telefono]
  14.     // peliculas [id, titulo, tipo, ano, ubicacion]
  15.     // prestamos [cedulaUsuario, idPelicula, fechaInicio, fechaFinal]
  16.    
  17.     public static String[] buscarPrimeraFila(String[][] tabla, int nCol, String dato){
  18.         int nFila = -1, i = 0;
  19.         String[] fila = null;
  20.        
  21.        
  22.         while(nFila == -1 && i < tabla.length){
  23.             if(dato.equals(tabla[i][nCol])){
  24.                 nFila = i;
  25.             }
  26.             i++;
  27.         }
  28.        
  29.         if(nFila != -1){ // se encontro el dato en la columna
  30.             fila = tabla[nFila];
  31.         }
  32.        
  33.         return fila;
  34.     }
  35.    
  36.     public static String[][] buscarTodasLasFilas(String[][] tabla, int nCol, String dato){
  37.         String[][] filas = null;
  38.        
  39.         for(int i = 0; i < tabla.length; i++){
  40.             if(dato.equals(tabla[i][nCol])){
  41.                 filas = agregarFila(tabla[i], filas);
  42.             }
  43.         }
  44.        
  45.         return filas;
  46.     }
  47.    
  48.     public static String[] obtenerUsuario(String cedUsuario){
  49.         // solo la primera fila, se asume que la cedula es unica
  50.         return buscarPrimeraFila(usuarios, 0, cedUsuario);
  51.     }
  52.    
  53.     public static String[][] obtenerListaPrestamos(String cedUsuario){
  54.         return buscarTodasLasFilas(prestamos, 0, cedUsuario);
  55.     }
  56.    
  57.     public static String obtenerFechaDevolucion(String[] prestamo) throws java.text.ParseException{
  58.         Date fecha = formFecha.parse(prestamo[2]);
  59.         fecha = agregarDias(Integer.parseInt(prestamo[3]));
  60.         return formFecha.format(fecha);
  61.     }
  62.    
  63.     public static Date agregarDias(int nDias){
  64.         Calendar c = Calendar.getInstance();
  65.         c.add(Calendar.DAY_OF_YEAR, nDias);
  66.         return c.getTime();    
  67.     }
  68.    
  69.     public static boolean esDuracionValida(int nDias){
  70.         return nDias <= diasMaxPrestamo;
  71.     }
  72.        
  73.     public static void registrarUsuario(String[] usuario){
  74.         usuarios = agregarFila(usuario, usuarios);
  75.     }
  76.    
  77.     public static void registrarPelicula(String[] pelicula){
  78.         peliculas = agregarFila(pelicula, peliculas);
  79.     }
  80.    
  81.     public static void registrarPrestamo(String[] prestamo){
  82.         prestamos = agregarFila(prestamo, prestamos);
  83.     }
  84.    
  85.     public static String[][] agregarFila(String[] fila, String[][] tabla){
  86.         String[][] nuevaTabla;
  87.         if(tabla == null){ // no ha sido inicializada la tabla
  88.             nuevaTabla = new String[][]{fila}; // se inicializa con la fila enviada
  89.         }else{
  90.             // crear la nueva tabla con una fila mas que la anterior
  91.             nuevaTabla = new String[tabla.length+1][tabla[0].length];
  92.             int i;
  93.            
  94.             for(i = 0; i < tabla.length; i++){
  95.                 // copiar cada fila de la tabla vieja a la tabla nueva
  96.                 nuevaTabla[i] = tabla[i];
  97.             }
  98.             // agregar la nueva fila a la tabla nueva
  99.             nuevaTabla[i] = fila;
  100.         }
  101.         return nuevaTabla;
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment