[Resolvido] Métodos, não estão imprimindo na main

Pessoal gostaria de esclarecimentos de vocês fiz o a classe porta como pede exercício da fj11 e todos seus atributos, métodos mais na hora de chamar na main não consigo imprimir, não aparecem resultados o que estou fazendo de errado ? já me atrapalhei aqui.
enquanto isso vou tentando aqui…

package teste;

public class Porta {

	// atributos
	public boolean aberta;

	public String cor;

	public int dimensaox;

	public int dimensaoy;

	public int dimensaoz;

	public void abre() {
		this.aberta = true;
	}

	public void fecha() {
		this.aberta = false;
	}

	public String pinta(String porta) {
		return porta = this.cor;
	}

	public boolean estaAberta() {
		if (aberta) {
			return true;
		} else {
			return false;
		}

	}
	//public String toString(){
		//return "Aberta: " + this.;
	//}
}

main:

package teste;

public class TestaPorta {
	public static void main(String[] args) {
		Porta porta = new Porta();
		
		porta.abre();
		
		porta.estaAberta();
		
		porta.pinta(" marron ");
		
	}
	
	
	

	

}

desde já agradeço emprenho e colaboração do todos.

[quote][code]package teste;

public class TestaPorta {
public static void main(String[] args) {
Porta porta = new Porta();

    porta.abre();  
      
    porta.estaAberta();  
      
    porta.pinta(" marron ");  
      
}  

} [/code][/quote]

System.out.println(); :?: :?: :?:

nos métodos :?: :?: :?:

Verifique isso.

[code]public class TestaPorta {
public static void main(String[] args) {
Porta porta = new Porta();

	porta.abre();
	
	System.out.println(porta.aberta);//Como vc invocou o metodo abre() e depois imprimir aberta ele vai ser true.

	//se a porta estiver for true(aberta) vai retorna a mensagem abaixo.
	if(porta.estaAberta()){
		System.out.println("porta está aberta");
	}else{
		System.out.println("posta fechada");//senao a porta vai ser false(fechada) essa mensagem.
	}

// definindo a cor da porta
porta.pinta("marron ");

// imprimindo a cor da porta
System.out.println(porta.cor);
}

}
[/code]

ok valeu pessoal, fiz desta forma:

[code]package teste;

public class Porta {

// atributos
public boolean aberta;

public String cor;

public double dimensaox;

public double dimensaoy;

public double dimensaoz;

public void abre() {
	this.aberta = true;
}

public void fecha() {
	this.aberta = false;
}

public void pinta(String cor) {
	this.cor = cor;
}

public boolean estaAberta() {
	if (this.aberta == false) {
		System.out.println(" Esta fechada ");

	}
	if (this.aberta == true) {
		System.out.println(" Esta aberta ");
	}
	return false;

}

public String toString() {
	return " Cor: " + this.cor + "\n Porta esta aberta: " + this.aberta
			+ "\n A porta esta fechada : " + this.aberta + "\n Altura: "
			+ this.dimensaox + "\n Largura: " + this.dimensaoy
			+ "\n Espesura: " + this.dimensaoz + "\n Verifica " + this.estaAberta();

}

}
[/code]
main:

[code]package teste;

public class TestaPorta {
public static void main(String[] args) {
Porta porta = new Porta();

	//System.out.println(porta.abre());
	porta.abre();
	//porta.fecha();
	

	porta.dimensaox = 2.30;
	porta.dimensaoy = 80;
	porta.dimensaoz = 2;
	porta.pinta(" Preta ");
	
	

	System.out.println(porta.toString());
	
	//System.out.println(porta.estaAberta());

}

}
[/code]

saída no console:

[quote] Esta aberta
Cor: Preta
Porta esta aberta: true
A porta esta fechada : true
Altura: 2.3
Largura: 80.0
Espesura: 2.0
Verifica false
[/quote]

então colega Fexx, eu tentei esta formula:

porta.abre();  
          
        System.out.println(porta.aberta);//Como vc invocou o metodo abre() e depois imprimir aberta ele vai ser true. 

só que não dá certo, pede para alterar retorno do método para booleana, sendo que o exercício pede para fazer o método como void

Não necessita alterar o retorno do método para boolean, pois com o void vc vai apenas setar o estado da variável aberta que já é boolean, sem ter retorno nenhum.

Quando chamei o método: porta.abre() ele mudou o estado da variável para true. pois se vc imprimir apenas isso: System.out.println(porta.aberta); sem chamar o método abre(), veja que a saída será false, pois as variáveis declarados como boolean tem valor default false.

veja a classe porta, e verifique que não alterei o retorno do método:

public class Porta {  
  
    // atributos  
    public boolean aberta;  
  
    public String cor;  
  
    public int dimensaox;  
  
    public int dimensaoy;  
  
    public int dimensaoz;  
  
    public void abre() {  
        this.aberta = true;  
    }  
  
    public void fecha() {  
        this.aberta = false;  
    }  
  
    public String pinta(String cor) {  
        return this.cor = cor;  
    }  
  
    public boolean estaAberta() {  
        if (aberta) {  
            return true;  
        } else {  
            return false;  
        }  
  
    }  
    //public String toString(){  
        //return "Aberta: " + this.;  
    //}  
}  

A casse TestaPorta

public class TestaPorta {
	public static void main(String[] args) {
		Porta porta = new Porta();

		porta.abre();
		
		System.out.println(porta.aberta);//Como vc invocou o metodo abre() e depois imprimir aberta ele vai ser true.

		//se a porta estiver for true(aberta) vai retorna a mensagem abaixo.
		if(porta.estaAberta()){
			System.out.println("porta está aberta");
		}else{
			System.out.println("posta fechada");//senao a porta vai ser false(fechada) essa mensagem.
		}
		
		
//		definindo a cor da porta
		porta.pinta("marron "); 

//		imprimindo a cor da porta
		System.out.println(porta.cor); 
	}

}

Com isso ele vai imprimir true.

Mas vc pode usar if e exibir uma frase no lugar de true.

Mas fico feliz que tenha conseguido de outra maneira, sobrescrevendo toString(). xD

valeu amigo Fexx gostei da sua explicação e de como fez.