Hola amigos, estoy haciendo una función para calcular polímeros, básicamente lo que hace el programa es que si hay dos letras consecutivas que son la misma, una mayúscula y la otra minúscula, se eliminan las dos, y se ejecuta hasta que ya no queden casos como esos. Un ejemplo: AbCcBD--->AbBD--->AD.
El problema es que al declarar una variable para que me almacene la longitud del string que contiene la cadena con la que se va a trabajar, haciendo un test, en algún caso, me indica que ahí hay un NullPointerException. Aquí os dejo el código.
public static String processPolymer(String polymer) {
int longitud=polymer.length();
//String toret=polymer;
boolean acabado=false;
//if(polymer.length()>1){
while (acabado==false){
acabado=true;
//int longitud=polymer.length();
for(int i=0;i<longitud-1;i++){
char a=polymer.charAt(i);
char b=polymer.charAt(i+1);
if((Character.isUpperCase(a)&&Character.isLowerCase(b)) || (Character.isUpperCase(b)&&Character.isLowerCase(a))){
if(Character.toUpperCase(a)==Character.toUpperCase(b)){
acabado=false;
String prim=Character.toString(a);
String seg=Character.toString(b);
polymer=polymer.replace(prim+seg,"");
longitud=polymer.length();
}
}
}
polymer=polymer.trim();
//System.out.println(polymer);
}
//}
return polymer;
}
Muchas gracias amigos, un saludo.
Pon el log de la excepción, y usa geshi.