veamos
1- String cadena es el parametro que le pasas para ver si es numerico
2- Es boolean porque retorna true o false segun su contenido
3- La parte del try/catch para capturar errores, sirve asi, cuando haces un programa este está propenso a errores, si en ejecucion se genera un error, el programa se corta o "crashea" como algunos dicen, los try/catch son para capturar errrores, los pones donde crees que pueda haber un error, coneccion con alguna bd, leer un archivo, algo fuera de comun, adentro del try pones lo que queres que se ejecute y en el catch lo que pasaria si hubiese error. Por lo tanto en el catch va el mensaje bonito de: "El tipo de dato que quiere guardar no es valido" en lugar de que se corte el programa y te salga un mensaje de:
ERROR 46497adfaa6d4fa6sf7a-fuck-you-9df8as9fsd4!!!!!!!! invalid data type inserted in table mstablita1quenopodesmeterdatos
aplicando esto a la funcion isNumeric
-Le pasas una cadena a isNumeric, con la forma isNumeric(cadena)
-en el try lo que hace es convertir la cadena en entero, si la cadena esta formada por puros digitos, 123456, 0000899, 989898, etcetera la conversion no tiene problema alguno y con el
return true se acaba la funcion y su respuesta es true, por lo que si pones:
isNumeric("1") te tiene que dar como resultado:
true-eso en dado caso de que la cadena se pueda convertir a entero, si le pasas una cadena "hola" o "cadena 3" y tratas de convertirla a entera, va a dar un error de conversion de datos que lo atrapas en el
catch, y la instancia de ese error se llamará
nfey el tipo de error es
NumberFormatException, como atrapaste ese error, la funcion retornará false, asi si pones: isNumeric("hola") te va a salir: false
ese es el funcionamiento del try/catch. si quieren saber mas de este tema pueden ir a:
http://www.tutorial-lab.com/tutoriales-java/id35-uso-de-try-y-catch-en-java.aspx
EDIT:
a esta parte no la entendi
if (!isNumeric(sinString))
{
System.out.println("Invalid Input");
}
como queres que el programa te rechace si le metes una cadena que no sea numeros de 9 digitos, primero pasas:
-sinString es la cadena que metiste, 123456789 o abcdefghi o 1a2b3c4d5
-if(!isNumeric(sinString)) se lee:
si el dato en sinString no es numero: mandar a imprimir "Invalid Input"
el ! te hace la negacion, si pones isNumeric(5) te devuelve true, entonces, es en el if: si no es true imprimir "Invalid Input" pero como si es true, entra en el else