Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Higor Hugo

Classe Ponto e Retangulo

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Faça um programa utilizando funções e classes que:

Possua uma classe chamada Ponto, com os atributos x e y.

Possua uma classe chamada Retangulo, com os atributos largura e altura.

Possua uma função para imprimir os valores da classe Ponto

Possua uma função para encontrar o centro de um Retângulo.

Você deve criar alguns objetos da classe Retangulo.

Cada objeto deve ter um vértice de partida, por exemplo, o vértice inferior esquerdo do retângulo,

que deve ser um objeto da classe Ponto.

A função para encontrar o centro do retângulo deve retornar o valor para um objeto do tipo ponto

que indique os valores de x e y para o centro do objeto.

O valor do centro do objeto deve ser mostrado na tela

Crie um menu para alterar os valores do retângulo e imprimir o centro deste retângulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

package fabricio.recuperacao;

public class Programa09 {

	
	public static void main(String[] args) {
		
		imprimePonto();
		
		encontrarCentroRet();
		
		Retangulo.largura = 4;
		Retangulo.altura = 8;
		
	}
	private static void encontrarCentroRet() {
		// TODO Auto-generated method stub
		
	}
	public static void imprimePonto(){
		System.out.printf("X:",Ponto.x);
		System.out.printf("Y:",Ponto.y);
	}

}

A dúvida fica a partir da sétima linha do programa descrito. Criei as classes ponto e retangulo utilizando get and seter. Resolvendo a grosso modo sem mtos cálculos seria ideal para decifrar o restante do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O método que encontra o centro do retangulo melhor implementar na classe Retangulo.

Voce fez os getters e setters, mas usou private nos atributos?

 

Poste essas classes também.

 

Aqui ficaria assim:

//Retangulo.largura = 4; em vez disso
Retangulo r = new Retangulo();
r.setLargura = 4;
.
.
.

Compartilhar este post


Link para o post
Compartilhar em outros sites

package fabricio.recuperacao;

 

public class Ponto {

public static double x = 0;

public static double y = 0;

 

public double getX() {

return x;

}

public void setX(double x) {

this.x = x;

}

public double getY() {

return y;

}

public void setY(double y) {

this.y = y;

}

 

}

--------------------------------------------------------------------------

package fabricio.recuperacao;

 

public class Retangulo {

public static double largura;

public static double altura;

 

public double getLargura() {

return largura;

}

public void setLargura(double largura) {

Retangulo.largura = largura;

}

public double getAltura() {

return altura;

}

public void setAltura(double altura) {

Retangulo.altura = altura;

}

}

 

As classes aparentemente não estão com erro de código... Agora é ver os próximos passos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça as correções na classe Retangulo seguindo Ponto como exemplo.

 

public class Ponto {
   private double x;
   private double y;

   public double getX() {
      return this.x;
   }
   public void setX(double x) {
      this.x = x;
   }

   public double getY() {
      return this.y;
   }
   public void setY(double y) {
      this.y = y;
   }
}

Isso só para seguir o padrão.

 

Cada objeto deve ter um vértice de partida, por exemplo, o vértice inferior esquerdo do retângulo,

que deve ser um objeto da classe Ponto.

 

Voce precisa de um objeto Ponto dentro de Retangulo.

Chame ele de origem.

 

Minha dúvida é o ponto de origem será configurável ou voce irá seguir um padrão único sempre?

O ideal é que seja configurável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Higor,

 

Você ainda esta pensando de forma "linear", "estruturado". Você tem que abstrair mais a solução, pensar em objetos.

Seu programa tem basicamente 2 objetos (isto você parece já ter entendido), agora você precisa declarar suas propriedades (que você também parece ter entendido), falta programar o comportamento desses objetos, por exemplo, o retângulo deve ter uma função de calcular o centro, conforme descrito no problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.