viernes, 5 de julio de 2013

Ejemplo: estructuras de datos del tipo arreglo

Ejemplos prácticos alimentan la noción del emprendedor.

Diagrama del clase del ejemplo 1
Les comparto la ultima parte del vídeo, en el cual dimos solución a un problema planteado, el cual requería la implementacion de los métodos elementales para la gestión de un registro de datos :
Registrar, buscar, remplazar y eliminar.

Utilizando  un arreglo de datos del tipo String.
El vídeo describe la realización del programa como también el uso de los métodos implementados, en la parte baja del vídeo encontraran el código fuente del mismo.

Temas sugeridos si aun no comprendes el uso de datos del tipo arreglo. Dejo los enlaces a continuación:

Fundamentos de Arreglos o Array
Apuntadores en java.

Ejemplo 1 parte 2

 

Código fuente


public class ArregloSimple {
    
      //Tipos Simples
  private  String mensaje;
  private  String linea;
  private boolean asignado;
  
     //forma#1
//  String [] Nombres;
//  String [] Clasificaciones={"Disponible","Espacio no Disponible","Error de formato","Sistema iniciado"};
  //forma#2
   private  String [] Nombres, Clasificacion={"Disponible","Espacio no Disponible","Error de formato","Sistema iniciado"};
   InputStreamReader Flujo_bytes= new InputStreamReader (System.in);
   BufferedReader entrada= new BufferedReader (Flujo_bytes); 
 public void iniciarSistema(){
      System.out.println("Para Iniciar el sistema debe ingresar el numero de datos a registrar:");
      try {
          linea= entrada.readLine();
      
      } catch (IOException ex) {
          Logger.getLogger(ArregloSimple.class.getName()).log(Level.SEVERE, null, ex);
      }
      
      
      try{
      int numPersona= Integer.parseInt(linea);
      Nombres= new String[numPersona];
      System.out.println( Clasificacion[3]);
      }catch(NumberFormatException e){
           System.out.println( Clasificacion[2] +" debe ingrese numeros");
           iniciarSistema();
      }
       
 }
 
 public void registrarUsuario(){
  boolean respuesta= true;
  while(respuesta){
  System.out.println("Ingrese el nombre de usuario");  
      try {
          linea= entrada.readLine();
          listarSimple(linea);
          
      } catch (IOException ex) {
          Logger.getLogger(ArregloSimple.class.getName()).log(Level.SEVERE, null, ex);
      }
      
      try{
      System.out.println("Desea registrar otro usuario? SI o NO");   
      linea= entrada.readLine();
     
      
       if( linea.equalsIgnoreCase("si")){
              continue;
              }else if( linea.equalsIgnoreCase("no")){
              break;
              }
      
      }catch (IOException ex) {
              Logger.getLogger(ArregloSimple.class.getName()).log(Level.SEVERE, null, ex);
          }
  
  }
     
 
 }
  
public void listarSimple (String nombre){
asignado= false;
if(Nombres!=null){//analizar si existe
        
                for (int i = 0; i < Nombres.length; i++) {

                if(Nombres[i]== null){
                System.out.println("Casilla \t"+i+Clasificacion[0]);
                Nombres[i]=nombre;
                
                asignado=true;
                break;
                }
                    
                
            }
            
        }



if(asignado){
            mensaje="Asignado Exitosamente";
            System.out.println(mensaje); 
        }else{
              mensaje="No existe Espacio suficiente";
            System.out.println(mensaje); 
        }


}

public void listarDatos(){
     System.out.println("************Incio de listar******************");
 for (int i = 0; i < Nombres.length; i++) {

               
                System.out.println("Usuario \t"+Nombres[i]);
               
         }
    System.out.println("************Fin de listar******************");

}

public boolean buscar(String Usuario){
    boolean respueta = false;
    
    for (int i = 0; i < Nombres.length; i++){
       String buscado=  Nombres[i];
    if (buscado.equalsIgnoreCase(Usuario)){
        respueta= true;
        break;
        }
    
    }
    
    
    
    
return respueta;
}


public void reemplazar(String Usuario, String buscado){



    for (int i = 0; i < Nombres.length; i++){
       String existe=  Nombres[i];
    if (buscado.equalsIgnoreCase(existe)){
        String anterior= Nombres[i];
        Nombres[i]=Usuario;
        System.out.println("Fue sustituido" +anterior+" por: "+Usuario);
        break;
        }
    
    }

}

public void reemplazar(String Usuario, int buscado){


 int datos=  Nombres.length;
   
      
    if (buscado < datos){
        String anterior= Nombres[buscado];
        Nombres[buscado]=Usuario;
        System.out.println("Fue sustituido " +anterior+" por: "+Usuario);
       
        }
    
    

}



public void Eliminar(String Usuario){
 
    
    for (int i = 0; i < Nombres.length; i++){
       String buscado=  Nombres[i];
    if (buscado.equalsIgnoreCase(Usuario)){
       Nombres[i]=null;
        break;
        }
    
    }
    
}
public void Eliminar(int index){
 
    
   int datos=  Nombres.length;
   
        
    if (index < datos){ 
       Nombres[index]=null;
    }
    
}
}

//clase principal 
public static void main(String[] args) {
      ArregloSimple objeto= new ArregloSimple();
      objeto.iniciarSistema();
      objeto.registrarUsuario();
      objeto.listarDatos();
      
//        boolean buscar = objeto.buscar("ana");
//        if(buscar){
//        System.out.println("Si existe el dato buscado" );
//        }else{
//        System.out.println("el dato buscado no existe");
//        }
//      objeto.reemplazar("ana", "alex");
//      objeto.reemplazar("ana", 2);
//      objeto.Eliminar("alex");
      objeto.Eliminar(3);
     objeto.listarDatos();
      
      
    }

No hay comentarios :

Publicar un comentario