java.lang.NullPointerException en funcion para polimeros

Iniciado por juligarc10, 25 Septiembre 2019, 20:32 PM

0 Miembros y 1 Visitante están viendo este tema.

juligarc10

 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.

rub'n



rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen