Java - necesito ayuda

 
Vista:

necesito ayuda

Publicado por ramon (15 intervenciones) el 15/03/2019 12:13:24
No se hacer estos dos ejerciciso alguien me ayuda..


Una vez definida la clase Punto representada por sus coordenadas x e y (números reales).
Define un constructor genérico que reciba las dos coordenadas.
Crea varios puntos en main() de clase Principal.
Muestra por pantalla las coordenadas de cada uno de los puntos.
Modifica alguna de sus coordenadas accediendo directamente al atributo correspondiente y vuelve a mostrar los puntos.
Deben seguirse los principios y estilo del código limpio.








Una vez definida la clase Punto representada por sus coordenadas x e y (números reales).
Una vez definido un constructor genérico que reciba las dos coordenadas.
Define un método que se llame cuadrante() que devuelva el nombre del cuadrante en el que se encuentra el punto.
Crea varios puntos en main() de clase Principal.
Muestra por pantalla las coordenadas de cada uno de los puntos.
Muestra por pantalla los cuadrantes en los que se encuentra cada punto.
Modifica alguno de los puntos accediendo directamente a los atributos correspondientes y vuelve a comprobar su cuadrante.
Deben seguirse los principios y estilo del código limpio.
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
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

necesito ayuda

Publicado por david (9 intervenciones) el 11/04/2019 03:56:16
Hola, he hecho un pequeño ejemplo de cómo lo podrías hacer. Solo que, en vez de modificar los puntos, generamos un número aleatorio y los guardamos en un array.

Clase Punto:

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
public class Punto {
 
	// atributos
	private int x;
	private int y;
 
	// constructor que recibe dos datos de tipo int (x e y)
	public Punto(int x, int y) {
		this.x = x;
		this.y = y;
	}
 
	// getters && setters
	public int getX() {
		return x;
	}
 
	public void setX(int x) {System.out.println("Punto x en la cordenada: " + punto.getX());
			System.out.println("Punto y en la cordenada: " + punto.getY());
 
		this.x = x;
	}
 
	public int getY() {
		return y;
	}
 
	public void setY(int y) {
		this.y = y;
	}
 
	// método que comprueba la posición en el cuadrante de x e y
	public void cuadrante() {
 
		if (this.x > 0 && this.y > 0) {
			System.out.println("El punto (" + x + "," + y + ") esta en el primer cuadrante");
		} else if (this.x < 0 && this.y > 0) {
			System.out.println("El punto (" + x + "," + y + ") esta en el segundo cuadrante");
		} else if (this.x < 0 && this.y < 0) {
			System.out.println("El punto (" + x + "," + y + ") esta en el tercer cuadrante");
		} else if (this.x > 0 && this.y < 0) {
			System.out.println("El punto (" + x + "," + y + ") esta en el cuarto cuadrante");
		}
	}
}

Clase Principal o el main:
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
public class Main {
 
	public static int aleatorio(int numero) {
		int c = (int) (Math.random() * numero);
		if (c < 50) {
			c = -c;
		}
		return c;
	}
 
	public static void main(String[] args) {
		// creamos un array de 5 posiciones.
		Punto[] puntos = new Punto[5];
 
		// rellenamos el array con números aleatorios en x e y.
		for (int i = 0; i < puntos.length; i++) {
			puntos[i] = new Punto(Main.aleatorio(100), Main.aleatorio(100));
		}
 
		// recorremos el array e imprimimos x e y
		for (Punto punto : puntos) {
 
			System.out.println("Punto x en la coordenada: " + punto.getX());
			System.out.println("Punto y en la coordenada: " + punto.getY());
 
			punto.cuadrante();
		}
	}
}

El resultado sería:

Punto x en la coordenada: -21
Punto y en la coordenada: 53
El punto (-21,53) está en el segundo cuadrante

Punto x en la coordenada: 68
Punto y en la coordenada: -30
El punto (68,-30) está en el cuarto cuadrante

Punto x en la coordenada: -37
Punto y en la coordenada: 99
El punto (-37,99) está en el segundo cuadrante

Punto x en la coordenada: 66
Punto y en la coordenada: 61
El punto (66,61) está en el primer cuadrante

Punto x en la coordenada: 78
Punto y en la coordenada: -27
El punto (78,-27) está en el cuarto cuadrante


Espero que te sirva.
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 Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito ayuda

Publicado por Rodrigo (623 intervenciones) el 11/04/2019 15:57:53
Algunas pequen~as cosas que cambiaria a la generosa respuesta dada por David:

- El metodo cuadrante tiene que retornar el nombre del cuadrante, no imprimirlo.
Imprimir se lo dejamos a quien invoca ese metodo.
- Lo mismo el metodo setX(), no tiene que imprimir nada.
- Otra cosa es que el metodo cuadrante usa this.x o this.y y en ese caso se puede directamente usar x o y.
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

necesito ayuda

Publicado por Billy Joel (875 intervenciones) el 11/04/2019 16:43:12
Yo había resuelto un problema igualito el año pasado...
https://www.lawebdelprogramador.com/foros/Java/1676956-Cosas-muy-simples.html

A continuación la clase Punto
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
92
93
94
95
96
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;
    }
}

A continuación la clase Principal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Principal {
 
    public static void main(String[] args) {
        Punto p1 = new Punto(4, 5);
        System.out.println("Punto #1: " + p1.toString());
        Punto p2 = new Punto(6, 7);
        System.out.println("Punto #2: " + p2.toString());
        System.out.println();
        //Modificamos las coordenadas del punto #1 p1
        p1.setX(1);
        p1.setY(2);
        System.out.println("Punto #1: " + p1.toString());
 
        //Modificamos las coordenadas del punto #2 p2
        p1.setX(3);
        p1.setY(4);
        System.out.println("Punto #2: " + p2.toString());
    }
}

Salu2!!
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