1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Sobre erro Copilação

meu codigo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

<h:head>
    <title>Questões</title>

</h:head>

<h:body>
    <h:form>
        <h:panelGrid>
            <h:panelGroup>
                <h:selectBooleanCheckbox value="#{cadastrarQuestoesBean.quest.javaSelecionado}" />
                java
            </h:panelGroup>
    <br/>
            <h:panelGroup>
                <h:selectBooleanCheckbox value="#{cadastrarQuestoesBean.quest.cSelecionado}" />
                C
            </h:panelGroup>


            <h:commandButton value="enviar" action="#{cadastrarQuestoesBean.enviar}"/>
        </h:panelGrid>
    </h:form>

</h:body>




</html>

classe modelo

package br.com.unasp.model;

import java.io.Serializable;

public class Questoes  implements Serializable{

    private Integer codigo;
    private boolean javaSelecionado;
    private boolean cSelecionado;
    private Integer soma;




    public Integer getCodigo() {
        return codigo;
    }
    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }
    public boolean isJavaSelecionado() {
        return javaSelecionado;
    }
    public void setJavaSelecionado(boolean javaSelecionado) {
        this.javaSelecionado = javaSelecionado;
    }
    public boolean iscSelecionado() {
        return cSelecionado;
    }
    public void setcSelecionado(boolean cSelecionado) {
        this.cSelecionado = cSelecionado;
    }
    public Integer getSoma() {
        return soma;
    }
    public void setSoma(Integer soma) {
        this.soma = soma;
    }


    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
        return result;
    }



    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Questoes other = (Questoes) obj;
        if (codigo == null) {
            if (other.codigo != null)
                return false;
        } else if (!codigo.equals(other.codigo))
            return false;
        return true;
    }



    public int calcular(){
     if (this.javaSelecionado){
         this.soma +=20;
         return soma;
     }
     if(this.cSelecionado){
         this.soma+=10;
         return soma;
     }

        return soma;
    }



}



classe bean

package br.com.unasp.view;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.unasp.model.Questoes;

@ManagedBean
@ViewScoped
public class CadastrarQuestoesBean  implements Serializable{

    private Questoes quest = new Questoes();


    public void enviar(){
        System.out.println(this.quest.calcular());
        System.out.println("java "+ this.quest.isJavaSelecionado());
        System.out.println("C "+this.quest.iscSelecionado());

        this.quest = new Questoes();

    }


    public Questoes getQuest() {
        return quest;
    }




}

o erro é gerado por causa dessa linha de codigo

public int calcular(){ if (this.javaSelecionado){ this.soma +=20; return soma; } if(this.cSelecionado){ this.soma+=10; return soma; }

return soma;

}

o erro é esse

java.lang.NullPointerException

javax.faces.el.EvaluationException: java.lang.NullPointerException at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at br.com.unasp.model.Questoes.calcular(Questoes.java:72) at br.com.unasp.view.CadastrarQuestoesBean.enviar(CadastrarQuestoesBean.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:278) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) ... 27 more

alguem pode me ajudar a saber o que tem de errado no metodo calcular?

  • esse aplicativo vai mostrar um checkbox para o usuário, quando ele marcar ele vai somando no momento que ele for marcando os checkbox

    wladyband   19 de ago de 2013
  • Coloca um breakpoint no método, e debugue para ver qual está nulo.

    eduardoroyer   19 de ago de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee ou faça a sua própria pergunta.