Ajuda

Olá amigos, eu sou iniciado nisto do java, e como tal solicitava a vossa ajuda para resolver este problema que me foi posto num exame.

Considere uma aplicação gráfica de manipulação de figuras. Implemente parte do código, de uma forma robusta, considerando a POO com base no seguinte:

  • Existe uma classe Ponto que aceita dois inteiros, x e Y; que só podem ser positivos;
  • A classe Recta é constituída por dois pontos e devolve informação dos seus pontos em texto;
  • A classe GUI, além de outros métodos, adiciona rectas e um array de rectas (Recta rectas[ ]).

Obg.

Ivan Barroso

Já tentou fazer?

Tenta aí e coloque as duvidas aqui…

[color=“red”]obs.: Topico movido para Java Básico (Iniciantes)[/color]

do pouco q sei eu faria assim:

public class Ponto (int x, int y){
x>0;
y>0;
}

public class Recta (P1,P2){
String P1, P2;
}

public class GUI extends rectas(){
}

isto é o pouco que sei, se me poderem ajudar eu agradeço, é que tenho perguntas de poutros exames muito semelhantes e sabendo esta acho que conseguiria fazer as outras.

obg

Na realidade essa notação x>0 não existe, tente criar os atributos x e y privados, e crie um metodo getX() e setX() e um getY() e setY(), o get retorna o valor, o set recebe o valor e coloca na variavel… aí dentro do set você coloca a verificação pra ver se o valor passado é positivo…

será que pode dar um exemplo

[code]public class Ponto{
private int x;

public void setX(int x){
if(x<0){
return;
}
this.x = x;
}

public int getX(){
return x;
}
}[/code]

Seria então isto?

public class Ponto{
private int x, int y;

public void setX(int x){
if(x<0){
return;
}
this.x = x;
}

public void setY(int y){
if(y<0){
return;
}
this.y = y;
}

public int getX(){
return x;
}
public int getY(){
return y;
}

}

[quote]public class Ponto{
private int x, int y;[/quote]

Não coloque o tipo novamente…

public class Ponto{ private int x, y;

Esta está concluida, e as outras?

public class Ponto{
private int x, y;

public void setX(int x){ 
if(x&lt;0){ 
return; 
} 
  this.x = x; 
} 

public void setY(int y){ 
if(y&lt;0){ 
return; 
} 
  this.y = y; 
} 


public int getX(){ 
return x; 
} 
public int getY(){ 
return y; 
} 

}

A classe Recta é a mesma coisa… a outra é onde você fará algum tipo de calculo, apresentação, sei lá… com essas classes…

Mas a classe recta devolve informação em texto, como faço isso?

É a mesma coisa ué, só que ao inves de int, é String.

Aqui não tenho q aplicar o extends para a classe Ponto?

Já agora quais são as formas de implementar comportamentos que n estão implementados?

Não tem que usar extends porque uma Recta não é um ponto, ela possui um ponto, então lá dentro da classe tem dois pontos, assim como o Ponto tem dois int…

Seria assim a classe Recta?

public class Recta{
private String x, y;

public void setX(String x){
if(x<0){
return;
}
this.x = x;
}
public void setY(String y){
if(y<0){
return;
}
this.y = y;
}

public String getX(){
return x;
}
public String getY(){
return y;
}

}

Na realidade não…

Como diz a sua especificação, uma Reta tem dois pontos, então o tipo é Ponto, não String…

n percebi, onde coloco?

São atributos da classe, assim como o x e o y são atributos de Ponto.

public class Recta{
private Ponto x, y;

public void setX(Ponto x){
if(x<0){
return;
}
this.x = x;
}

public void setY(Ponto y){
if(y<0){
return;
}
this.y = y;
}

public Ponto getX(){
return x;
}
public Ponto getY(){
return y;
}
}

Acho q assim fará mais sentido:

public class Recta{
private Ponto x, y;

public void setX(String x){
if(x<0){
return;
}
this.x = x;
}

public void setY(String y){
if(y<0){
return;
}
this.y = y;
}

public String getX(){
return x;
}
public String getY(){
return y;
}
}