Está en la página 1de 6

//Guarda este archivo con el nombre Main.

java
//package ....estacionamientos;
import java.io.*;
import java.util.*;
public class Main {
public static Scanner teclado = new Scanner(System.in);
public static PrintStream out = System.out;
public static void pausar(String mensage) {
out.print(mensage + "\nPresione <ENTER> para continuar . . . ");
teclado.nextLine();
out.println();
}
public static String leer_cadena(String mensaje) {
out.print(mensaje + ": ");
return teclado.nextLine();
}
public static int leer_entero(String mensaje) {
try {
return Integer.parseInt(leer_cadena(mensaje));
} catch (NumberFormatException e) {
out.print("N\u00FAmero incorrecto.");
return leer_entero(mensaje);
}
}
public static String ruta = "estacionamientos.tsv";
public static void main(String[] args) {
Funcion<Estacionamiento> imprimir = new Funcion<Estacionamiento>() {
@Override
public void funcion(Estacionamiento estacionamiento, Object parametr
os) {
out.println(estacionamiento);
int[] contador = (int[]) parametros;
contador[0]++;
}
};
Funcion<Estacionamiento> imprimirEnArchivo = new Funcion<Estacionamiento
>() {
@Override
public void funcion(Estacionamiento estacionamiento, Object parametr
os) {
PrintStream archivo = (PrintStream) parametros;
archivo.print(estacionamiento.getNumero_de_estacionamiento() + "
\t");
archivo.print(estacionamiento.getPlaca() + "\t");
archivo.print(estacionamiento.getIdentificacion() + "\t");
archivo.print(estacionamiento.getAnno() + "\t");
archivo.print(estacionamiento.getMes() + "\t");
archivo.print(estacionamiento.getDia() + "\t");
archivo.print(estacionamiento.getHora() + "\t");
archivo.print(estacionamiento.getMinuto() + "\n");
}

parseInt(ca mpos[0])).funcion(dato.cons ole()!=null) try { out = new PrintStream(System. estacionamiento.Actualizaciones").setAnno(Integer.setNumero_de_estacionamiento(leer_entero ("Ingre se el numero de estacionamiento del estacionamiento")). subopcion.}. estacionamiento. } catch (FileNotFoundException e) {} estacionamiento = new Estacionamiento(). out.")..Consultas"). } while (opcion<1 || opcion>7).equals("Linux") && System. do { out.parseInt(campos[7])). int[] contador = {0}.println(). } entrada.getProperties(). estacionamiento. Estacionamiento dato = null.name"). estacionamiento.parseInt(campos[5])).out. while (entrada. estacionamiento. true.. if (dato!=null) { out.setIdentificacion(campos[2]).Altas"). out. out. estacionamiento.parseInt(campos[6])).indexOf(estacionamiento).setHora(Integer. out. teclado = new Scanner(System. out.get(i). try { Scanner entrada = new Scanner(new FileReader(ruta)).get("os. int i.isEmpty() && opcion!=1 && opcion!=7) { pausar("No hay registros.setPlaca(campos[1]). estacionamiento. out. "CP850").split("\t").println("MEN\u00DA"). if(opcion<1 || opcion>7) out.setMinuto(Integer. if (vector.println("2.setNumero_de_estacionamiento(Integer.println("6. dato = i<0 ? null : vector..println("4. estacionamiento.Bajas").parseInt(campos[4])).setDia(Integer.\n"). } .Ordenar registros").println("7. out.nextLine()..Listar registros"). imprimir.. } if (opcion<5) { estacionamiento.println("Opci\u00F3nn no v\u00E1lida. "CP850").Salir").println("3. do { opcion = leer_entero ("Seleccione una opci\u00F3n").println().. if(!System. vector. continue.println("1. } catch (UnsupportedEncodingException e) {} Vector<Estacionamiento> vector = new Vector<Estacionamiento>().. i = vector.add(estacionamiento). String[] campos. estacionamiento.in.parseInt(campos[3])). estacionamiento = new Estacionamiento().println("5.setMes(Integer. n. contador).hasNextLine()) { campos = entrada. out. int opcion.close().

break. estacionamiento. out. case 3: out."). estacionamiento.println("3.setMes(leer_entero ("Ingrese el nuevo mes")).} if (opcion==1 && dato!=null) out..identificacion"). else if (opcion>=2 && opcion<=4 && dato==null) out.println("1..hora").println("7. } while (subopcion<1 || subopcion>7).println("El registro ya existe.setDia(leer_entero ("Ingrese el nuevo dia")).println("Men\u00FA de modificaci\u00F3n de campos"). estacionamiento..placa").println("5. out. estacionamiento.println("6.setPlaca(leer_cadena ("Ingrese el nuevo placa")). case 3: dato. if (subopcion<1 || subopcion>7) out.add(estacionamiento). out. break.dia"). out. out. estacionamiento.println("\nRegistro actualizado correctamente. case 5: dato.println("\nRegistro no encontrado. do { subopcion = leer_entero ("Seleccione un n\u00FAmero de campo a modificar").setAnno(leer_entero ("Ingrese el anno")). break. else switch (opcion) { case 1: estacionamiento. estacionamiento.").println("4. case 6: dato. } out.println("Opci\u00F3n no v\u00E1lida. break.").").mes").anno"). case 4: dato. switch (subopcion) { case 1: dato.setIdentificacion(leer_cadena ("Ingrese el nuevo id entificacion")).minuto"). break.setDia(leer_entero ("Ingrese el dia")).setPlaca(leer_cadena ("Ingrese el placa")).. out.setMinuto(leer_entero ("Ingrese el nuevo minuto")). case 2: dato.println("2.setMes(leer_entero ("Ingrese el mes")). vector..println("\nRegistro agregado correctamente. case 7: dato.. break.setAnno(leer_entero ("Ingrese el nuevo anno")).").. out. estacionamiento = new Estacionamiento(). .setIdentificacion(leer_cadena ("Ingrese el ident ificacion")). out.setHora(leer_entero ("Ingrese el hora")).setHora(leer_entero ("Ingrese el nuevo hora")).setMinuto(leer_entero ("Ingrese el minuto")). break. break. break.

contador). n = vector.size(). case 6: n = vector. break. Object parametros).get(i).get(i).funcion(vector.sort(vector).println("Total de registros: " + contador[0] + ". } if (opcion<7 && opcion>=1) pausar(""). int mes.estacionamiento. out."). salida). int anno. } while (opcion!=7).println("Registro borrado correctamente. i<n.remove(dato). for (i=0.numero_de_estacionami ento. } class Estacionamiento implements Comparable<Estacionamiento> { private private private private private private private private int numero_de_estacionamiento. break.close()."). i++) imprimirEnArchivo. i<n. for (i=0. @Override public boolean equals(Object estacionamiento) { return this==estacionamiento || (estacionamiento instanceof Estacionamie nto && numero_de_estacionamiento==((Estacionamiento)estacionamiento). break. salida.case 4: vector. i++) imprimir. out.numero_de_e stacionamiento).funcion(vector. String placa. } @Override public String toString() { return .println("Registros ordenados correctamente. } @Override public int compareTo(Estacionamiento estacionamiento) { return numero_de_estacionamiento . int dia. int hora."). contador[0] = 0. } catch (FileNotFoundException e) {} } } interface Funcion<T extends Comparable<T>> { void funcion(T dato. try { PrintStream salida = new PrintStream(ruta).size(). out. int minuto. case 5: Collections. String identificacion.

} public int getMes() { return mes. } public void setIdentificacion(String identificacion) { this. .numero_de_estacionamiento = numero_de_estacionamiento. } public void setAnno(int anno) { this.dia = dia. } public void setMes(int mes) { this. } public void setPlaca(String placa) { this. } public int getDia() { return dia. } public int getHora() { return hora. } public String getPlaca() { return placa."numero de estacionamiento: "placa : "identificacion : "anno : "mes : "dia : "hora : "minuto : " " " " " " " " + + + + + + + + numero_de_estacionamiento + "\n" + placa + "\n" + identificacion + "\n" + anno + "\n" + mes + "\n" + dia + "\n" + hora + "\n" + minuto + "\n". } public int getAnno() { return anno. } public int getNumero_de_estacionamiento() { return numero_de_estacionamiento. } public void setDia(int dia) { this.mes = mes.anno = anno. } public void setNumero_de_estacionamiento(int numero_de_estacionamiento) { this.placa = placa.identificacion = identificacion. } public String getIdentificacion() { return identificacion.

} } parqueadero y persona http://algoritmosurgentes.hora = hora. } public void setMinuto(int minuto) { this.minuto = minuto. } public int getMinuto() { return minuto.} public void setHora(int hora) { this.com/clasesj.php?clase=estacionamiento&id=numero_de_est acionamiento&numero_de_estacionamiento=int&placa=char*&identificacion=char*&anno =int&mes=int&dia=int&hora=int&minuto=int .