/*1) I. Criar uma classe em Java (atributos e métodos) para representar o seguinte papel (note que é
necessário especificar os tipos dos atributos, retornos, parâmetros e o corpo dos métodos):
Ponto
Deseja-se fazer um programa gráfico para desenhos, e o papel (ou classe) mais básico é o de um Ponto no
plano. O Ponto tem as seguintes características (atributos privados - private): x, coordenadaY
(ambos números inteiros) e cor (uma cadeia de caracteres).
Um Ponto precisa dos seguintes métodos:
a) Método construtor, para inicializar todos os atributos;
b) Métodos modificadores: um para alterar a posição do ponto no espaço e outro para alterar sua
cor;
c) Métodos de acesso: que retornam os valores dos atributos (de modo que os atributos, possam ser
lidos por outros objetos);
*/ import java.util.ArrayList;
public class Ponto{
private int coordenadaX ;
private int coordenadaY ;
private String cor = "" ;
public Ponto ( int X2 , int Y2 , String cor ){
coordenadaX = X2 ;
coordenadaY = Y2;
this.cor = cor ;
}
public void setAlterar ( int X , int Y ) {
coordenadaX = X ;
coordenadaY = Y;
}
public void setAlterarCor ( String cor ){
this.cor = cor ;
}
public String getCor () {
return cor ;
}
public int getCoordenadaX () {
return coordenadaX ;
}
public int getCoordenadaY () {
return coordenadaY ;
}
/*
d) Um método chamado distancia( ), que recebe dois parâmetros inteiros, representando as
coordenadas x e coordenadaY de um outro ponto, e retorna a distância entre estes pontos (um número real).
*/
// esse metodo não esta retornando a distancia correta , retorna sempre 0 ..
public double distancia(double X2, double Y2)
{
double distanciaEntrePontos=Math.sqrt(Math.pow(coordenadaX-X2,2)+
Math.pow(coordenadaY- Y2,2));
return distanciaEntrePontos;
}
}
import javax.swing.*;
import javax.swing.JOptionPane;
public class TestePonto {
public static void main ( String [ ] args ) {
// instancio um bj da classe controle
ControlePonto c = new ControlePonto () ;
// declaro o usuario
Ponto u ;
int resp = 0;
while ( resp == 0 ) {
String cor = JOptionPane.showInputDialog ( null, " cor ");
int Y2 = Integer.parseInt ( JOptionPane.showInputDialog( null," y "));
// casting numa linha
int X2 = Integer.parseInt ( JOptionPane.showInputDialog( null," x "));
u = new Ponto(X2 ,Y2 , cor );
c.cadastrar(u);
// enquando for = 0 , quer dizer sera cadastrado novo usuario , aparece uma mensagem perguntando se
// o usuario que inserio mais um .
resp = JOptionPane.showConfirmDialog ( null," Inclua mais um usuario? " );
System.out.println ( " Mostrar Todos os usuarios \n");
c.mostrarUsuarios();
JOptionPane.showMessageDialog ( null, u.distancia( X2,Y2 ) );
}
}
}
Queria criar outro ponto pela entrada de dados tentei fazer no while mais não deu certo pq precisa fazer um array list () …para guardar os objs pontos …!
ou vcs tem uma melhor forma de fazer ;
oo metodo calcular distancia não sei pq num ta retornando valor corretoo;