Problemas na condição iF (A execução do IF é realizada, mas o resto do código não é)

Ai pessoal sou novo aqui na site, mas gostaria que vocês me ajudassem neste algoritmo, pois ainda não entendi o porque que não está passando pela parte que começa na linha 18 a 31. Aqui no meu Netbeans está acusando java.lang.NumberFormatException: null. O problema maior é que ele executa as condições da linha que eu já citei, mas não passa para as próximas linhas. Quando eu tiro ele o resto do código é executado normal. Esses comentários eu coloquei para facilitar o entendimento do código, já que eu só coloquei a parte que está dando erro.

OBS.: A variável “funcao” do tipo string recebe uma função matemática : 5x^2+2x

Se poderem ajudar agradeço! Valeu

[code]x = 0; e1 = 0; m = 0;//variaveis resetada para o proximo laço.
System.out.println(“passou na linha 55”);
for(i = 0; i < funcao.length(); i++){

        if(Character.isDigit(funcao.charAt(i))){//Essa parte do codigo verifica se o indice passado pelo metodo charAt(i) da string "funcao" é igual a um numero, se for ele armazena o total em "v_numero"
            v_numero = v_numero + 1;
            //System.out.println("v_numero: "+v_numero);
        }
        if(!Character.isDigit(funcao.charAt(i))){//Essa parte do codigo verifica se o indice passado pelo metodo charAt(i) da string "funcao" é diferente de um numero, se for ele armazena o total em "v_var".
            v_var = v_var + 1;
            //System.out.println("v_var: "+v_var);
        }
   }
       System.out.println("passou na linha 57");
       
       
      
      for(i = 0; i < v_var; i++){
          //System.out.println("passou");//essas partes é só para ter noção se passou na execução
          if (!var[i].isEmpty()) {//Essa condição verifica se existe algum valor na matriz "var[]" do tipo string, que foi feita só para armazenar os caracteres iguais a "x", se for verdadeiro ela armazena o total encontrado na variavel "x" do tipo int.
              System.out.println("ok");
              x = x+1;
              System.out.println("x: "+x);
          }
          if (!elevado[i].isEmpty()) {//Essa condição verifica se existe algum valor na matriz "elevado[]" do tipo string, que foi feita só para armazenar os caracteres iguais a "^", se for verdadeiro ela armazena o total encontrado na variavel "e1" do tipo int.
              System.out.println("elevado");
              e1 = e1 + i;
          }
          if (!s_mais[i].isEmpty()) {//Essa condição verifica se existe algum valor na matriz "s_mais[]" do tipo string, que foi feita só para armazenar os caracteres iguais a "+", se for verdadeiro ela armazena o total encontrado na variavel "m" do tipo int.
              System.out.println("s_mais");
              m = m + i;
          }
      }
      
      i = 0;
    while(i < v_numero){y = 0;
        if(i > 0 && x > 0){//Essa parte do codigo é onde eu armazeno os valores atravéz do metodo "substring" com o "index e o endindex" passado por variaveis.  
            //System.out.println("passou 1");
            base[i] = funcao.substring(Integer.parseInt(s_mais[y])+1, Integer.parseInt(var[i]));
            System.out.println("base: "+base[i]);
            y++; i++;
        }else{
            //System.out.println("passou 0");
            base[i] = funcao.substring(0, Integer.parseInt(var[y]));
            System.out.println("base: "+base[i]);
            i++;
        }
    }[/code]

Bom dia Charles,

Sugiro que vc leia este guia http://www.guj.com.br/java/287484-gujnautas-how-to poia duplicou seu POST.

Quanto a sua duvida creio que esta sendo atribuido um valor NULL a uma variavel String por isto esse Exception.
Você cita que problema é na condição IF porem nas linhas citadas (18 a 31) ocorre execução de um Loop que contem alguns IFs.
Portanto seria necessário esclarecer melhor em que ponto esta ocorrendo este erro ou seja linha exata que NetBeans te informa.

Espero ter ajudado.

Tópico duplicado: http://www.guj.com.br/java/290526-problemas-na-condicao-if-a-execucao-do-if-e-realizada-mas-o-resto-do-codigo-nao-e#1537620