Uso de "if" e "else" no boolean

Meu objetivo é criar 2 objetos e associá-los, entretanto, na hora da criação do objeto Disciplina (Boolean), o compilador não aceita, eu queria saber o que está acontecendo.

public class Disciplina
{   
   //atributos
   private String nom;
   private boolean pratica;
   //construtor
   public Disciplina(String nome, boolean pratica){
      this.nom = nom;
      this.pratica = pratica;
   }
   //metodos de acesso
   public String getNom(){   
      return nom;
   }
   public boolean getPratica(){  
      if(pratica == true){  
         return pratica;
      }else{
         pratica == false;
         }
   }
   //Metodos modificadores
   public void setNome(String nom){   
      this.nom = nom;
   }
   public void setPratica(boolean pratica){  
      this.pratica = pratica;
   }
   //metodo getDados
   public String getDados(){  
      return "Disciplina [nome=" + nom + ", pratica" + pratica +
      "]";
   }
}

Ajudaria se você tivesse colocado o erro que o compilador acusou. :wink:

Seu erro parece estar na linha:

pratica == false;

pois você está fazendo uma comparação aqui ( o == é usado para comparação).

Só que essa linha não tem um if, nem uma atribuição, então não faz sentido esse operador aqui.

Mas por que você faz uma verificação no seu método getPratica() ? Pode retornar o valor to atributo pratica diretamente:

public boolean getPratica()
{
     return pratica;
}

Abraço.

1 curtida

Eu queria fazer uma verificação para retornar algo mais legalzinho, tipo "Se for true, então retorna prática, se for false, retorna teórica, mas, de qualquer forma ajudou bastante.

No construtor você está fazendo:

this.nom = nom;

Troque para:

this.nom = nome;
1 curtida

voce deve criar outra variavel para retornar se e pratica ou teorica , sua variavel pratica so vai retornar false ou true… pois e do tipo boolean

boa tarde
Você pode criar um método para isso
assim:

    public String mensagem( boolean pratica){
      String mensagem;

             if(pratica){
 
                   mensagem = "Pratica";

          } else{
      
                 mensagem = "Teórica";
          }

        return mensagem;
    }


     public String getDados(){  
      return "Disciplina [nome=" + nom + ", pratica" + mensagem(pratica) +
      "]";
   }