You are on page 1of 4

EJERCICIO : ESCRIBIR UNA APLICACIÓN QUE PERMITA CREAR UNA LISTA SIMPLEMTE 

ENLAZADA CON LAS SIGUIENTES OPCIONES EN UN MENU: 
1.‐ INGRESAR DATOS 
2.‐ VER DATOS 
3.‐ ELIMINAR 
4.‐ MODIFICAR 
5.‐ TERMINAR 
 
LA LISTA DEBE CREARSE POR INSRCION POR ATRAZ 
 
import javax.swing.*; 
public class LISTAS_POR_ATRAZA { 
    
    public static void main(String[] args) { 
       
      String op; 
      GUIA p=null,u=null; 
      PROCESO pr=new PROCESO(); 
      do{ 
        op=JOptionPane.showInputDialog("  M E N U  \n 1.‐ INGRESAR DATOS \n 2.‐ 
VER DATOS\n 3.‐ ELIMINAR \n 4.‐ MODIFICACION \n 5.‐ SALIR \n ELEGIR OPCION ‐> "); 
        switch (op.charAt(0)) 
        { 
          case '1':p=pr.ingreso(p,u); break; 
          case '2':pr.ver(p);break; 
          case '3':=p=pr.eliminar (p);break; 
          case '4':pr.modificar(p);break; 
        } 
      } 
      while (op.charAt(0)!='5'); 
      System.out.println("Hello World!"); 
    } 

 
CLASE GUIA 
class GUIA { 
  String no,di; 
  int fo; 
  GUIA pun; 

 
CLASE PROCESO 
import javax.swing.*; 
class PROCESO { 
  GUIA ingreso (GUIA p, GUIA u) 
  { String op; 
    do { 
        if(p==null) 
        { 
          p= new GUIA(); 
          p.no=JOptionPane.showInputDialog("Ingrese Nombre ‐‐‐‐‐‐>"); 
          p.di=JOptionPane.showInputDialog("Ingrese Direccion ‐‐‐>"); 
          p.fo=Integer.parseInt(JOptionPane.showInputDialog("Ingrese 
Telefono ‐‐>")); 
          p.pun=null; 
        } 
        else 
        { 
          u= new GUIA(); 
          u.no=JOptionPane.showInputDialog("Ingrese Nombre ‐‐‐‐‐‐>"); 
          u.di=JOptionPane.showInputDialog("Ingrese Direccion ‐‐‐>"); 
          u.fo=Integer.parseInt(JOptionPane.showInputDialog("Ingrese 
Telefono ‐‐‐>")); 
          u.pun=p; 
          p=u; 
        }   
        op=JOptionPane.showInputDialog(" Para Salir escriva FIN ");     
    } 
    while (op.compareTo("FIN")!=0); 
    return (p); 
  } 
   
  GUIA eliminar (GUIA p) 
  { String cad; 
    int op=0; 
    GUIA a,x; 
    x=p; 
    a=p; 
    cad=JOptionPane.showInputDialog("INGRESE NOMBRE A ELIMINAR = "); 
    while(x!=null) 
    { 
       if (cad.compareTo(x.no)==0) 
       { 
         op=Integer.parseInt(JOptionPane.showInputDialog("NOMBRE A 
BORRAR = "+cad+"\n PRESIONE 1 PARA BORRAR = " )); 
         if (op==1) 
         { 
          if (p==x) 
           { 
             p=p.pun;   
           } 
          else 
           { 
             a.pun=x.pun;  
          } 
         JOptionPane.showMessageDialog(null,cad+"  FUE ELIMINADO 
CORRECTAMENTE ");  
           ver(p); // LLAMA A LA FUNCION VER DE LA CLASE        
        }   
      }   
      a=x; 
      x=x.pun;   
    }  
    return (p); 
  } 
   
    void modificar (GUIA p) 
  { String cad; 
    int op; 
    GUIA x; 
    x=p; 
    cad=JOptionPane.showInputDialog("INGRESE NOMBRE A MODIFICAR  = "); 
    while(x!=null) 
    { 
       if (cad.compareTo(x.no)==0) 
       { 
         op=Integer.parseInt(JOptionPane.showInputDialog("NOMBRE = 
"+x.no+"\nDIRECCION = "+x.di+"\nFONO = "+x.fo+"\n  PRESIONE 1 PARA MODIFICAR = 
" )); 
         if (op==1) 
         { 
           x.no=JOptionPane.showInputDialog("NOMBRE ANTIGUO = "+x.no+ 
"\nIngrese Nuevo Nombre ‐‐‐‐‐‐>"); 
           x.di=JOptionPane.showInputDialog("DIRECCION ANTIGUA = 
>"+x.di+"\nIngrese Nueva Direccion ‐‐‐‐‐‐>"); 
           x.fo=Integer.parseInt(("FONO ANTIGUO = >"+x.fo+"\nIngrese 
Nuevo Fono ‐‐‐‐‐‐>"));                
         }   
      }   
      x=x.pun;   
    }  
      ver(p); // LLAMA A LA FUNCION VER(P) DE LA CLASE 
  } 
   
  void ver (GUIA x) 
  { String cad=""; 
    while (x!=null) 
    { 
         cad=cad+"\nNOMBRE    = "+x.no+"\nDIRECCION = "+x.di+"\n TELEFONO = 
"+x.fo+"\n‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐\n";  
         x=x.pun;   
    }   
    JOptionPane.showConfirmDialog(null,cad);   
  }       

You might also like