Ir ao conteúdo

Posts recomendados

Postado

Alguem sabe como arrumar isso? Na hora de executar, alem da mensagem se tem ou nao ar condicionado, aparece 'true' ou 'false' também, como faz pra aparecer só a mensagem do ar condicionado?

 

/*
-arCond:boolean
+get(s) e set(s)
+toString():String

 */
package vendas;

/**
 *
 * @author 176699
 */
public class Leito extends Onibus{
    
    
    
    private boolean arCond;
    public Leito(int nBilhete, String destino, String data, 
            String hora, int box, String nOnibus){
        super(nBilhete, destino, data, hora, box, nOnibus);
        
                
    }
    
    public boolean getArCondicionado(){
        return arCond;
    }
    public void setArCondicionado(boolean arCond){
        this.arCond=arCond;
    }
    

    public void com (){
        this.arCond  = true;
        System.out.println("Possui ar condicionado:");
    }
    public void sem(){
        this.arCond = false;
        System.out.println("Não Possui ar condicionado:");
    }
    
    boolean arCondicionado(){
        
    
        if(this.arCond){
        return true;
        
        
    }else
            return false;
            
    }
   
   public String toString(){
       
       return super.toString()+ arCondicionado();
       
   }
    

    
    
    
}

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package vendas;

/**
 *
 * @author 176699
 */
public class TesteLeito {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Leito leito = new Leito(0, " ", " ", " ", 0, " 66");
        leito.setNumeroBilhete(666);
        leito.setDestino(" Lugar Nenhum");
        leito.setData(" 06/06/2017");
        leito.setHora(" 10:48h");
        leito.setBox(04);
        leito.setNumeroOnibus(" 66");
        leito.sem();
        
        System.out.println(leito);
        
    }
    
}
 

O que mostra quando executa:

Possui Arcondicionado
Bilhete:666 Destino: Lugar NenhumData: 06/06/2017 Hora: 10:48h Box:4 Numero do Onibus: 66 Ar condicionado:false
CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

 

Ignorem os erros de ortografia, o exercicio tem 8 classe e tem que usar herança então só  depois de terminar que vou revisar isso

 

Postado
6 minutos atrás, dcm50 disse:

acho que faltou um "leito.setArCondicionado()", com true ou false como parametro na classe testeLeito

o professor recomendou que de inicio enquanto ainda estamos aprendendo, criar get e set pra tudo e só depois que terminar a classe verificar o que ta ou nao usando, no caso, nao to usando os metodos get e sets de arcondicionado ja que criei 2 metodos publicos 'com' e 'sem' pro ar condicionado

Postado

acho que entendi.. tu não quer que apareça true ou false e sim a mensagem que tu criastes?

se for isso, tu pode resolver fazendo um if-else se for true "usa ar" e se for false "não usa ar" (seja lá qual for a mensagem que tu quer usar)

Postado
1 minuto atrás, dcm50 disse:

acho que entendi.. tu não quer que apareça true ou false e sim a mensagem que tu criastes?

se for isso, tu pode resolver fazendo um if-else se for true "usa ar" e se for false "não usa ar" (seja lá qual for a mensagem que tu quer usar)

do jeito que ta, aparece a mensagem e aparece a palavra 'true' ou então 'false', eu quero que apareça apenas a mensagem:

 

Não Possui ar condicionado: //Aparece a mensagem
Bilhete:666 Destino: Lugar NenhumData: 06/06/2017  Hora: 10:48h Box:4 Numero do Onibus: 66  false//<<aqui aparece a palavra false

Postado

@Lucio Carvalho É simples. Leia o campo e de acordo com a resposta (true ou false), coloque o texto desejado.

 

Exemplo

 

String msgTemAr = "ArCondicionado: ";

leito.arCondicionado() ? msgTemAr.concat("Sim") : msgTemAr.concat("Não");

Basicamente, leia se a variável é true para escrever "Sim" e false para escrever "Não".

Você pode também criar um método que retorne "Sim" ou "Não" de acordo com o estado da variável booleana.

 

Outra coisa: seu método

 

boolean arCondicionado(){     
    if(this.arCond){
        return true;             
    }else
      return false;            
    }
}

É totalmente desnecessário. Seu método deveria ser apenas

 

boolean arCondicionado(){     
    return this.arCond;        
}

É uma variável booleana. A resposta é ela mesma.

 

No seu método, você faz mais ou menos assim:

 

- A variável é TRUE? Então retorne TRUE.

- A variável é FALSE? Então retorne FALSE.

 

Como a própria variável já está em seu estado final, o correto seria apenas

- Retorne a variável

 

Abraço

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!