Java - Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y

Publicado por Marco (15 intervenciones) el 29/11/2018 19:35:09
Buenas, estoy en un grado superior de desarollo de aplicaciones multiplataforma, estuve mirando este verano programación por mi cuenta hasta el punto de saber hacer vectores, arrayds, formularios, y bastante más cosas tanto con C como con Java.
Bueno, pues literalmente es el primer ejercicio en el que tengo que programar en Java y no tengo ni idea por donde empezar xd..
El ejercicio es este:
Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y.
• Tendrá los siguientes métodos:
desplazarXY, que suma a X e Y los dos valores recibidos.
desplazarX, que suma a X el valor recibido.
desplazarY, que suma a Y el valor recibido.
getX y getY que devuelve el valor del atributo correspondiente.
setX y setY, que cambia el atributo al valor que se le pase como parámetro.
toString, que devuelve un String con la cadena que queremos que se muestre.
sonIguales, que devuelve true si dos puntos están en las mismas coordenadas.
copia, que devuelve un nuevo punto con las mismas coordenadas que el original.

En realidad mi problema creo que es que no entiendo el enunciado, sobre todo al principio, en el primer método hay que sumar a X e Y los valores recibidos pero no tengo ni idea de donde recibo los valores, no se si se refiere a que los introduzca el usuario cuando ejecute el programa (cosa que dudo) o a que le ponga yo uno, o incluso que use un Math.random... bueno la cosa es que no se que hacer en los primeros métodos, si me podeis dar un ayudita..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cosas muy simples

Publicado por Billy Joel (875 intervenciones) el 29/11/2018 23:00:41
Si has visto programación en C lo mas seguro es que ya sepas algo de algoritmos.
La programación en Java ya va de programación orientada a objetos.
Aunque la programación estructurada y la orientada a objetos son similares en ciertos aspectos y difieren en otros, el problema que te presentan se trata de crear funciones o métodos.

Empecemos por el principio:
- Los nombres de las clases empiezan en mayusculas,
- Los nombres de las variables u objetos empiezan en minusculas
- Las clases tienen propiedades (o atributos) y métodos

En lenguajes como Java a las proiedades se les llaman beans y éstos obedecen a cierta estructura como:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private int x;
 
/**
 * @return the x
 */
public int getX() {
    return x;
}
 
/**
 * @param x the x to set
 */
public void setX(int x) {
    this.x = x;
}

Las propiedades de una clase pueden ser variables globales, pero solo dentro de la clase ya que su acceso debe ser privado. Para modificar una propiedad de una clase se utilizan sus métodos get & set y dependiendo del tipo de acceso que tu quieras dar puedes definir estos métodos como private, protected o public.

Bueno no le demos mas vueltas a tu problema... como te decía, lo que piden en ese enunciado es crear una clase que tenga dos propiedades y una serie de métodos o funciones. Por ejemplo desplazarXY, que suma a X e Y los dos valores recibidos. sería algo como esto:
1
2
3
4
public void desplazarXY(int x, int y) {
    this.x += x;
    this.y += y;
}

desplazarX, que suma a X el valor recibido.
1
2
3
public void desplazarX(int x) {
    this.x += x;
}

desplazarY, que suma a Y el valor recibido.
1
2
3
public void desplazarY(int y) {
    this.y += y;
}

toString, que devuelve un String con la cadena que queremos que se muestre.
1
2
3
public String toString() {
    return x + ", " + y;
}

Creo que ahí lo puedes continuar, si tienes mas dudas escribe.
Saludos!
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Cosas muy simples

Publicado por Marco (15 intervenciones) el 30/11/2018 02:04:04
Buenas, te agradezco tu ayuda, he podido conseguir bastante, te paso una captura de todo lo que he conseguido.

La cosa es que me he dado cuenta de que al parecer hay que hacer3 objetos punto, 1 con las cordenadas x,y otro con las cordenadas que le ponemos en el set y el tercero sería la copia, la cosa es que no tengo ni idea de como crear un punto asignandole las cordenadas x,y, pensé que sería "Punto p1 = New Punto(x,y);" pero no, prácticamente la idea es en el sonIguales comparar punto1 con punto2 y en copiar crear punto3 que sea idéntico a punto1.
s_s_s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y

Publicado por Will (1 intervención) el 23/12/2018 13:56:23
Buenas Marcos, estoy en las mismas y super perdido en este ejercicio, me podrias echar una mano?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y

Publicado por Marco (15 intervenciones) el 23/12/2018 15:02:43
Hola, yo ya lo consegui entender más o menos, la clave está en pensar que un punto tiene 2 coordenadas, la X y la Y, cada vez que creas un objeto ese objeto usa la clase constructor, así que la idea es pensar que ha cada punto usas el constructor para añadirle X e Y al objeto, luego con los métodos le vas sumando y restando, o diciendole cual es cada cordenada en concreto, en el segundo punto tienes que utiliza el método set, te recomiendo ver videos de esta persona https://www.youtube.com/channel/UCeEW6PHNJlIwI-rKChmqqkw enseña muy bien (si tienes dudas con set y get mírate el video 10 de java), también mira los post que he hecho, la gente me ha ayudado mucho y podrás ver todo lo que necesites.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Implementar una clase Punto, con dos atributos que contienen la coordenada X e Y

Publicado por Billy Joel (875 intervenciones) el 24/12/2018 14:35:00
Acá te dejo la clase completa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
public class Punto {
 
    private int x;
    private int y;
 
    public Punto() {
        x = 0;
        y = 0;
    }
 
    public Punto(int x, int y) {
        this.x = x;
        this.y = y;
    }
 
    /**
     * Suma a X y Y los dos valores recibidos
     * @param x
     * @param y 
     */
    public void desplazarXY(int x, int y) {
        this.x += x;
        this.y += y;
    }
 
    /**
     * Suma a X el valor recibido.
     * @param x 
     */
    public void desplzarX(int x) {
        this.x += x;
    }
 
    /**
     * suma a Y el valor recibido.
     * @param y 
     */
    public void desplzarY(int y) {
        this.y += y;
    }
 
    /**
     * devuelve true si dos puntos están en las mismas coordenadas.
     * @param p
     * @return 
     */
    public boolean sonIguales(Punto p) {
        return x == p.getX() && y == p.getY();
    }
 
    @Override
    public String toString() {
        return x + ", " + y;
    }
 
    /**
     * Devuelve un nuevo punto con las mismas coordenadas que el original
     * @return 
     */
    public Punto copia() {
        return new Punto(this.x, this.y);
    }
 
    /**
     * @return the x
     */
    public int getX() {
        return x;
    }
 
    /**
     * @param x the x to set
     */
    public void setX(int x) {
        this.x = x;
    }
 
    /**
     * @return the y
     */
    public int getY() {
        return y;
    }
 
    /**
     * @param y the y to set
     */
    public void setY(int y) {
        this.y = y;
    }
}

Saludos,
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar