Monday, April 8, 2013

GENERACIÓN DE CÓDIGO AUTOGENERADO ALFANUMÉRICO



En algunas situaciones es necesario realizar códigos autogenerados para asociarlos a diferentes datos como IDs. En esta oportunidad mostraré una manera muy fácil de como autogenerar un código alfanumérico de 32 caracteres.


La idea es del Dummy es crear un AUTOGENERADO de 32 caracteres de tipo AlfaNumérico, en base a 2 métodos uno para aleatorios ENTEROS y otro método para aleatorios de tipo CADENA:

 /*
 * Test_CodigoAleatorio
 */
 public class Test_CodigoAleatorio{
 
   /*
    * main     
    */
    public static void main( String[] argumentos ){
              
        Test_CodigoAleatorio x = new Test_CodigoAleatorio();
      
        String codigo = x.getCodigoAleatorioEstandar();
      
        System.out.println( codigo );
    }
  
   /*
    * getCodigoAleatorioEstandar   
    * @return String
    */
    public String getCodigoAleatorioEstandar(){
      
        String codigoAleatorio = "";
      
        for( int i=0; i<32 br="" i="" nbsp="">            
             if( i%2 == 0  ){
                 codigoAleatorio = (codigoAleatorio + this.getAleatorionLetras() );
             }
             else{                
                  codigoAleatorio = (codigoAleatorio + this.getAleatorionNumeros( 0, 9 ) );
             }
        }
      
        return codigoAleatorio;      
    }
    
   /*
    * getAleatorionNumeros   
    * @param  num_01
    * @param  num_02
    * @return int
    */
    private int getAleatorionNumeros( int num_01, int num_02 ){
        if( num_02 < num_01 ){
            return (int)( ( num_02 - num_01 + 1 ) * Math.random() + num_01 );
        }
        else{
            return (int)( ( num_01 - num_02 + 1 ) * Math.random() + num_02 );
        }
    }
  
   /*
    * getAleatorionLetras   
    * @return int
    */
    private String getAleatorionLetras(){
        
           String [] abecedario = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
                                    "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"  };

           int    numLetraRandon = this.getAleatorionNumeros( 1, 26 );
           String letra          = abecedario[ numLetraRandon ];
         
           return letra;
    }
  
 }

 Esto es todo hasta la próxima....


No comments: