Como contar double!?

5 respostas
renatac

Galerinha estou fazendo o seguinte programa, e estou com problemas para imprimir a quantidade de portas abertas...

Programa 2
Classe: Porta
Atributos: aberta, cor, dimensaoX, dimensaoZ, dimensaoY
Metodos: 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 metodo estaAberta para verificar se ela esta aberta.

Programa 3

Classe : Casa
Atributos: cor, porta1, porta2, porta3
metodo: void pinta(String s), int quantasPortasEstaoAbertas().

Crie uma casa e pinte-a. Crie 3 portas e coloque-as na casa, abra - as e feche-as como quiser,. Utilize o metodo quantasPortasEstaoAbertas() para imprimir o numero de portas abertas.

Fiz o seguinte

Aproveitei meu programa 2 e juntei com meu programa 3

package com.yourcompany.struts;


public class Porta {
 
 		private boolean aberta;
 		String cor;
 		private double dimensaoX;
 		private double dimensaoY;
 		private double dimensaoZ;
 
 		public void fecha() {
 			aberta = false;
 			System.out.println("Fechei a porta!");
 		}
 
 		public void abre() {
 			aberta = true;
 			System.out.println("Abri a porta!");
 		}
 
 		public boolean estaAberta() {		
 			return aberta;
 		}
 
 		public String toString() {
 			return estaAberta() ? "Aberta" : "Fechada";
 		}
 		 		
 
 		// Getters e Setters para os campos: cor, dimensaoX, dimensaoY, dimensaoZ.
 	}
package com.yourcompany.struts;

public class Casa {
	
	private String cor;
	public String porta1;
	public String porta2;
	public String porta3;
	private boolean aberta;
	private int portasAbertas;
	
	
	void pinta (String s)
	{
	}
		
	public void fecha() {
			aberta = false;
			System.out.println("Fechei a porta!");
		}

	public void abre() {
			aberta = true;
			System.out.println("Abri a porta!");
			
		}
		
		
	int quantasPortasEstaoAbertas()
	{
		aberta = true;
		portasAbertas = aberta;
		System.out.println("O numero de portas abertas são" +aberta);
		
			
	}

		
}
package com.yourcompany.struts;

public class TestaPorta 
{

	public static void main(String[] args) 
	{
		
		Porta porta1 = new Porta();
		porta1.cor = "Vermelha";
		porta1.cor = "Azul";
		porta1.abre();	
		porta1.cor = "Amarela";
		porta1.cor = "Verde";
		double dimensaoX = 5.20;
		double dimensaoY = 4.00;
		porta1.fecha();
		porta1.estaAberta();
		
		System.out.println("A porta do tamanho "+dimensaoX +" por " +dimensaoY +" da cor " + porta1.cor +" está " +porta1.toString());
		
		Porta porta2 = new Porta();
		porta2.cor = "Azul";
		porta2.fecha();
		porta2.abre();
		double dimensaoX1 = 5.0;
		double dimensaoY1 = 4.0;
		
		System.out.println("A porta do tamanho "+dimensaoX1 +" por " +dimensaoY1 +" da cor " + porta2.cor +" está " +porta2.toString());
		
		Porta porta3 = new Porta();
		porta3.cor = "Amarela";
		porta3.abre();
		double dimensaoX2 = 3;
		double dimensaoY2 = 4;
		
		System.out.println("A porta do tamanho "+dimensaoX2 +" por " +dimensaoY2 +" da cor " + porta3.cor +" está " +porta3.toString());
		
		Casa casa = new Casa();
		casa.pinta("Amarelo");
		casa.quantasPortasEstaoAbertas();
		
		System.out.println(" A Casa tem " +casa.quantasPortasEstaoAbertas() +" portas abertas.");
		
		
	}
}

A minha Classe testaPorta é minha classe MAIN

5 Respostas

rissato

é soh vc criar uma variavel nPortasAbertas visivel para todas as classes. Ai vc vai um incNPA() e um decNPA().

renatac

desculpa, não entendi o final do que vc disse!?

A
public int quantasPortasEstaoAbertas(){
  int qtdPortasAbertas = 0;
  if(porta1.estaAberta()) qtdPortasAbertas++;
  if(porta2.estaAberta()) qtdPortasAbertas++;
  if(porta3.estaAberta()) qtdPortasAbertas++;
  return qtdPortasAbertas;
}
rissato

incNPA() = incrementa o numero de portas abertas
decNPA() = decrementa…

akumaldo

Veja as mudanças que fiz...coloquei uma var static da classe...e fiz ela incrementar e decrementar de acordo com as ações dos métodos, depois criei um getter para pegar o valor da var...
espero ter ajudado! :)

package com.yourcompany.struts;


public class Porta {
 
 		private boolean aberta;
 		String cor;
 		private double dimensaoX;
 		private double dimensaoY;
 		private double dimensaoZ;
                private static qtdportasabertas;
 
 		public void fecha() {
 			aberta = false;
 			System.out.println("Fechei a porta!");
                        qtdportasabertas--;
 		}
 
 		public void abre() {
 			aberta = true;
 			System.out.println("Abri a porta!");
                         qtdportasabertas++;
 		}
 
 		public boolean estaAberta() {		
 			return aberta;
 		}
 
 		public String toString() {
 			return estaAberta() ? "Aberta" : "Fechada";
 		}

 		public void getQtdPortasAbertas()
 		{
                    return qtdportasabertas;
                }
 
 		// Getters e Setters para os campos: cor, dimensaoX, dimensaoY, dimensaoZ.
 	}
Criado 7 de julho de 2006
Ultima resposta 7 de jul. de 2006
Respostas 5
Participantes 4