Dúvidas exercícios java

2 respostas
esant.eng

Olá eu sou novo no GUJ e sou novo também em java, estou estudando através de alguns livros, apostilas e tutoriais.
Neste momento estou estudando através de um material da Caelum o fj11 - Material do Treinamento Java e Orientação a Objetos.
Estou na página 59 e estou tendo dúvidas com um exercício que parece simples mais eu estou um pouco confuso, gostaria que alguem me desse um exemplo de como resolver o exercício em questão e se alguem puder me dizer onde eu errei ou se precisso voltar e estudar novamente alguns conceitos.

Aqui está o exercício:
Classe: Porta Atributos: aberta, cor, dimensaoX, dimensaoY, dimensaoZ Métodos: void abre(), void fecha(),
void pinta(String s), boolean estaAberta()
Crie uma porta, abra e feche a mesma, pinte-a de diversas cores, altere suas dimensões e use o método
estaAberta para verificar se ela está aberta.

Aqui está o código que eu criei, me desculpem novamente talvez eu tenha cometido erros e o código pode estar totalmente errado mais sou novo.

Obrigado.

2 Respostas

vymerson

Seguinte…
Por que você criou a variavel
boolean portaAberta = this.aberta = true; dentro do método abre() e fecha() que nunca será usada nos seus teste?

O método pinta() poderia ser assim:

//a variável de parametro com o mesmo nome da propriedade da classe é conhecido como sombreamento

//o comando this diferencia a propriedade do parametro

void pinta(String cor)

{

this.cor = cor;		

}

o método estAaberta() poderia ser:

boolean estaAberta()
{
	return aberta;
}

Assim ele retorna o valor da propriedade aberta que pode estar true ou false.

o método fecha() poderia ser:

void fecha()
{		
	if(aberta==true){ // se a porta estiver aberta então feche 
		System.out.println("Fecha a porta.");
		aberta=false; //troque o estado da porta para "fechada"
	}
	else{
		System.out.println("A porta não foi fechada.");
	}
}

O método abre() poderia ser assim:

void abre()
{		
	if(aberta == false){ //se a porta estiver fechada entao abra 
		System.out.println("Abre a porta.");
		 this.aberta = true; //mude o estado para aberta
	}
	else{
		System.out.println("A porta não foi aberta");
	}

}

Acho que é isso aí.
abraços

esant.eng

Agora entendi, valeu vymerson obrigado pela ajuda.

Criado 20 de agosto de 2008
Ultima resposta 21 de ago. de 2008
Respostas 2
Participantes 2