Ver Mensaje Individual
  #1  
Antiguo 24-07-2010
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Reputación: 18
waly2k1 Va por buen camino
Traducción de rutina JAVA

Hola muchachos, estoy desarrollando una mini aplicación en Delphi
y para ellos necesito validar un codigo de destinación que sea válido
en el momento de la carga. Existe una aplicación en Java que valida
eso, el tema es que no manejo Java y hay cosas que no entiendo. Con
lo cual posteo aquí la rutina y sin abusar de nadie me interesaría que
alguien me comente más o menos los pasos realizados. Nose
tampoco como depurar esa rutina en Java como para seguirla paso a
paso y ver lo que va realizando.

Veo que almacena en un array todos los caracteres de la cadena, pero
el valor ASCII o qué?
Luego acá k = j % 23 + 65 que hace ?
el operador %es el resto, esto sería k = (j mod 23) + 65 ???

En fin los dejo en sus manos y espero encontrar una pronta respuesta.
Desde ya muchisimas gracias por el tiempo dedicado. Abrazo!
Walter


Código:
  public static void a(String paramString)
  {
    if ((paramString == null) || (paramString.length() != 16))
      throw new b("destinacion debe tener 16 digitos");
    a(paramString, "nro de a?o", paramString.substring(0, 2));
    a(paramString, "nro de aduana", paramString.substring(2, 5));
    a(paramString, "nro de registro", paramString.substring(9, 14));
    int i;
    if ((i = ((localObject = paramString.toUpperCase()).indexOf("MANE") == 5) ? 1 : 0) != 0)
      localObject = ((String)localObject).replace("MANE", "MANI");
    Object localObject = ((String)localObject).toCharArray();
    
    int j = 0;
    for (int k = 0; k < 15; ++k)
      j += localObject[k];
    k = j % 23 + 65;
    if (i != 0)
      ++k;
    switch (k)
    {
    case 73:
      k = 88;
      break;
    case 79:
      k = 89;
      break;
    case 81:
      k = 90;
      break;
    case 91:
      k = 65;
    }
    if (k == localObject[15])
      return;
    throw new b("destinacion [" + paramString + "] " + "con digito verificador [" + localObject[15] + "] invalido");
  }
Responder Con Cita