Hola Susana83!
El error en java java.lang.NullPointerException
nos indica que estamos intentando realizar una tarea con una variable cuyo valor es "null"
(nulo, sin valor asignado, ext..) y que el jvm (java virtual machine) al ejecutar el programa espera encontrar en dicha variable un valor diferente a "null" por tal motivo cuando en tiempo de ejecución el jvm se encuentra con un valor "null" en vez de un valor esperado, pues lanza este error: java.lang.NullPointerException.
Este es un error muy frecuente principalmente entre nuevos programadores, y este error puede surgir a raíz de diferentes situaciones, como por ejemplo: Cuando definimos una variable tipo objeto pero no la inicializamos, o por ejemplo cuando declaramos un vector he intentamos recorrer su contenido sin antes a ver rellenado dicho vector,
(que por cierto este ultimo es tu caso) y a estos dos casos los cuales para mi son los mas comunes se podrían sumar otros casos mas.
Que hacer ante un error de tipo java.lang.NullPointerException? Lo primero que debemos de hacer es identificar la variable asociada a tal error, en bluej esto nos resulta un tanto "sencillo" puesto que bluej resalta en amarillo la linea de código donde interviene dicha variable. Una vez identificamos la variable pues procedemos a hacer que esta deje de referenciar a un objeto o valor "null" Como? pues asignándole un valor, y lógicamente dicho valor tiene que coincidir con el tipo de variable.
En tu código el error se encuentra en el siguiente fragmento de código:
private static boolean validate(String s, String vec[]) {
boolean success=true;
for (int i=0; i<vec.length; i++) {
if (vec[i].equalsIgnoreCase(s)) {
return !success;
}
}
return success;
}
Donde por parámetros se deben introducir un String y un vector de String, hasta aquí todo esta bien, el problema surge en esta linea: if (vec[i].equalsIgnoreCase(s)) {
donde nunca se cumplirá esta condición porque el vector "vec" no contiene elementos (su valor contenido es null) por tanto tampoco contiene el valor de "s".
Una posible solución seria que asignes un valor (rellenar el vector vec) según lo necesario para que tu programa responda como esperas.
Espero que desde ahora puedas dominar un java.lang.NullPointerException. Y por supuesto, si tienes alguna duda no dudes en preguntar.
Saludos!