Foro de elhacker.net

Programación => Java => Mensaje iniciado por: juligarc10 en 25 Septiembre 2019, 20:32 pm



Título: java.lang.NullPointerException en funcion para polimeros
Publicado por: juligarc10 en 25 Septiembre 2019, 20:32 pm
 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.

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.


Título: Re: java.lang.NullPointerException en funcion para polimeros
Publicado por: rub'n en 25 Septiembre 2019, 21:13 pm
Pon el log de la excepción, y usa geshi.