que hace esta parte no la enteindo bien
private boolean isNumber(String campo) {
try {
int a = Integer.parseInt(campo.trim());
return true;
} catch (NumberFormatException e)
{
return false;
}
}
esa parte es para verificar si el valor que has pasado es un entero o no, te devuelve true o false dependiendo si es entero o no, hace esto:
-creas una variable a de tipo int
-Integer.parseInt() es una funcion que te convierte un string o char a su equivalente int
-campo.trim(), campo es la variable que le pasas, trim() es para quitarle espacios vacios o " "
Si al hacer la conversion a int y asignarsela a la variable a, da resultado, la funcion regresa true, por lo que si es numero
si no, el catch capta el error de NumberFormatException, o excepcion de formato numerico y devuelve false, por lo que no es numero
sinIndex = Integer.valueOf(sin.substring(i,i+1));
para q el nombre sinIndex de la variable... que es lo q hace en si el integer.valueof ? y esto d dond saca el valo sinNumber = txtSim.getText(); ? es para leerlo d un txt
-sinIndex es la variable donde se va guardando por cual numero del textbox esta leyendo, si pones 1234, el primer valor de sinIndex sera 1, luego 2, luego 3 y luego 4.
-integer.valueof() da el mismo resultado de Integer.parseInt(), osea convertir a int
-sinNumber lo sacas de donde vos querras, ese va a ser el numero de 9 digitos, yo por cuestion de ejemplo lo puse desde un TextField
espero te sirva