Agenda java

Iniciado por Burnhack, 2 Marzo 2008, 23:37 PM

0 Miembros y 2 Visitantes están viendo este tema.

Burnhack

#10
Bueno aqui postee ayer la agenda y puse colaboradores, porque CasiDiablo me presto su ayuda, Fulapol y Phicar tambien colaboraron ...a ellos gracias por ayudarme a terminarla y ahora pondre una agenda para ejecutar en consola que almacena,modifica, elimina y busca un registro introducido por teclado.Esta agenda la mejorare en este mismo post pero para que tengais un ejemplo aqui os la dejo

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Agenda {
static InputStreamReader isr = new InputStreamReader(System.in);
static BufferedReader br = new BufferedReader(isr);
static Registro registros[];

public static void main(String[] args)throws IOException {
String opcion;
int i=0;
registros = new Registro [2];
for (i=0; i<registros.length; i++)
registros[i] = null;
System.out.println("1 - Añadir");
System.out.println("2 - Modificar");
System.out.println("3 - eliminiar");
System.out.println("4 - Buscar");
System.out.println("5 - Salir");
opcion = br.readLine();
while (!opcion.equals ("5")){
if (opcion.equals("1"))
agregar();
else if (opcion.equals("2"))
modificar ();
else if (opcion.equals("3"))
eliminar();
else if (opcion.equals("4"))
buscar();
else
System.out.println ("Opción incorrecta..");
System.out.println("1 - Añadir");
System.out.println("2 - Modificar");
System.out.println("3 - eliminiar");
System.out.println("4 - Buscar");
System.out.println("5 - Salir");
opcion = br.readLine();

}
}
static void agregar()throws IOException{
String nombre, localidad, calle, provincia;
int numero, piso, cp, i=0;
char letra;
long telefono;

while (registros [i] != null && i<registros.length)
i++;
if (i<registros.length){
System.out.print("Nombre: ");
nombre = br.readLine();
System.out.print("Calle: ");
calle = br.readLine();
System.out.print("Numero: ");
numero = Integer.parseInt(br.readLine());
System.out.print("Piso: ");
piso = Integer.parseInt(br.readLine());
System.out.print("Letra: ");
letra = br.readLine().charAt(0);
System.out.print("Codigo postal: ");
cp = Integer.parseInt(br.readLine());
System.out.print("Localidad: ");
localidad = br.readLine();
System.out.print("Provincia: ");
provincia = br.readLine();
System.out.print("Telefono: ");
telefono = Long.parseLong(br.readLine());
Direccion aux = new Direccion(calle, numero, piso,
letra, cp, localidad, provincia);
registros[i]= new Registro(nombre, aux, telefono);
}
}
static void modificar() throws IOException {
    String nombre, localidad, calle, provincia;
    int numero, piso, cp ;
    char letra;
    long telefono;

    System.out.print("Nombre: ");
    nombre = br.readLine();

    for (int i = 0; i < registros.length; i++) {

      if (!registros[i].getNombre().equals(nombre))
        System.out.println("No existe ese registro");

      else {
       registros[i].getNombre() .equals(nombre);

        System.out.print("Nuevo Nombre: ");
        nombre = br.readLine();
        System.out.print("Nueva Calle: ");
        calle = br.readLine();
        System.out.print("Nuevo Numero: ");
        numero = Integer.parseInt(br.readLine());
        System.out.print("Nuevo Piso: ");
        piso = Integer.parseInt(br.readLine());
        System.out.print("Nueva Letra: ");
        letra = br.readLine().charAt(0);
        System.out.print("Nuevo Codigo postal: ");
        cp = Integer.parseInt(br.readLine());
        System.out.print("Nueva Localidad: ");
        localidad = br.readLine();
        System.out.print("Nueva Provincia: ");
        provincia = br.readLine();
        System.out.print("Nuevo Telefono: ");
        telefono = Long.parseLong(br.readLine());
      }
       break;}
}
static void buscar() throws IOException {     
String nombre;
     
    System.out.print("Nombre: ");
    nombre = br.readLine();

    for (int i = 0; i < registros.length; i++) {

      if (!registros[i].getNombre().equals(nombre))
        System.out.println("No existe ese registro");

      else{
       registros[i].getNombre() .equals(nombre);
       System.out.println("Nombre: "+registros[i].getNombre());
       Direccion dirTemp = registros[i].getDireccion();
       System.out.println("Calle: "+dirTemp.getCalle());
       System.out.println("Codigo Postal: "+dirTemp.getCp());
       System.out.println("Localidad: "+dirTemp.getLocalidad());
       System.out.println("Provincia: "+dirTemp.getProvincia());
       System.out.println("Piso: "+dirTemp.getPiso());
       System.out.println("Letra: "+dirTemp.getLetra());
       System.out.println("Telefono: "+registros[i].getTelefono());
      }
       break;}
    }
static void eliminar() throws IOException {
    String nombre;
    System.out.print("Nombre: ");
    nombre = br.readLine();

    for (int i = 0; i < registros.length; i++) {

      if (!registros[i].getNombre().equals(nombre))
        System.out.println("No existe ese registro");

      else
{
       registros[i]=null;
       System.out.println("El registro ha sido borrado correctamente");
}
break;
}
    }

static void salir()throws IOException{
return;}
}



Cuentas Premium Gratis aquí

Petición partidos fútbol, F1, tenis, baloncesto...
aquí

Burnhack

Clase Dirección:

public class Direccion {
private String calle, localidad, provincia;
private int numero, piso, cp;
private char letra;

public Direccion(String calle, int numero, int piso,  char letra,
int cp, String localidad, String provincia){
this.calle = new String (calle);
this.piso = piso;
this.letra =letra;
this.cp = cp;
this.localidad = new String (localidad);
this.provincia = new String (provincia);
this.numero = numero;
}

public Direccion(Direccion d){
calle = new String (d.calle);
numero = d.numero;
piso = d.piso;
letra = d.letra;
cp = d.cp;
localidad = d.localidad;
provincia = d.provincia;
}//fin metodo direcion

public void setCalle (String calle){
this.calle = new String (calle);
}//fin metodo set Calle

public void setNumero (int numero){
this.numero = numero;
}//fin metodo seyNumero

public void setPiso(int piso){
this.piso = piso;
}//fin metodo setPiso

public void setLocalidad (String localidad){
this.localidad = new String (localidad);
}//fin metodo setLocalidad

public void setProvincia (String provincia){
this.provincia = new String (provincia);
}//fin metodo setProvincia

public void setCp (int cp){
this.cp = cp;
}//fin metodo setCp

public void setLetra (char letra){
this.letra = letra;
}//fi metodo setLetra


public String getCalle(){return calle;}
public int getCp(){return cp;}
public String getLocalidad(){return localidad;}
public String getProvincia(){return provincia;}
public int getPiso(){return piso;}
public char getLetra(){return letra;}





public void print (){
System.out.println(calle + ", " + numero + " - " + piso + letra);
System.out.println(cp + " - "+ localidad);
System.out.println(provincia);
}
}//fin metodo print



Cuentas Premium Gratis aquí

Petición partidos fútbol, F1, tenis, baloncesto...
aquí

Burnhack

Clase Registro:

public class Registro {
String nombre;
Direccion direccion;
long  telefono;

Registro (String nombre, Direccion direccion, long telefono){
this.nombre = new String (nombre);
this.direccion = new Direccion(direccion);
this.telefono =telefono;
}

public void setNombre (String nombre){this.nombre = new String (nombre); }

public void setDireccion(Direccion direccion){
this.direccion = new Direccion(direccion);}

public void setDireccion(String calle, int numero, int piso,
char letra, int cp, String localidad, String provincia){
direccion = new Direccion (calle, numero, piso, letra, cp,
localidad, provincia);
}

public void setTelefono (long telefono){this.telefono = telefono;}

public String getNombre(){return nombre;}

public Direccion getDireccion(){return direccion;}

public long getTelefono(){return telefono;}


Registro (Registro r){
nombre = new String (r.nombre);
direccion = new Direccion(r.direccion);
telefono = r.telefono;
}

public void print (){
System.out.println("Nombre: " + nombre);
System.out.println("Direccion: ");
direccion.print();
System.out.println("Telefono: " + telefono);
}
}



Cuentas Premium Gratis aquí

Petición partidos fútbol, F1, tenis, baloncesto...
aquí

Burnhack

#13
Bueno revisando hoy el code, me di cuenta de un par de fallos, el principal y mas gordo es que el bucle for solo recorre el registro 0 jajaja por lo tanto tendriamos una agenda en la que solo almacena un tio y podrias trabajar solo con ese registro pero bueno lo digo de cara a los usuarios que esta agenda es un ejemplo , que hay mucho todavia que mejorar, esto es por decirlo de alguna forma, la agenda mas cutre que puede existir jejeje.Pero eso si muy buen ejemplo.

Bueno como no voy a estar cada poco incluyendole mejoras , simplemente cuando tenga el interface listo y alguna cosa mas , la posteare completa en este mismo post.

De momento aqui teneis para que funcione bien el bucle es este

while (i<registros.length && (registros[i] == null || !registros[i].nombre.equals(nombre)))
i++;
if (i==registros.length){


Saludos



Cuentas Premium Gratis aquí

Petición partidos fútbol, F1, tenis, baloncesto...
aquí