Java - Ayuda con método en programa manejando Vectores en dos dimensiones

   
Vista:

Ayuda con método en programa manejando Vectores en dos dimensiones

Publicado por Mauricio (1 intervención) el 15/09/2015 23:57:44
Captura-de-pantalla-de-2015-09-15-16-48-46
Captura-de-pantalla-de-2015-09-15-16-48-17
Captura-de-pantalla-de-2015-09-15-16-48-04

Tengo el código presente en la imágenes. Soy principiante en java y estoy haciendo el programa de las imágenes, aprendí a manejar los métodos de Vectores2D y que regresan un nuevo Vector, sin embargo, encontré un conflicto al entrar al método magnitud ya que éste no regresará otro vector sino un número (lo puse como double). Agradecería su ayuda, ya que he consultado libros, pero son más avanzados, ya que incluyen palabras como for, cosas que aún no he estudiado y esta practica es para la escuela, así que debe ser sin ese tipo de temas, ósea algo más básico en resumen.
Muchas gracias
Att Mauricio
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

Ayuda con método en programa manejando Vectores en dos dimensiones

Publicado por Thanatos (69 intervenciones) el 16/09/2015 09:34:54
Si el método "obtenerMagnitud" devuelve un valor de tipo double, entonces necesitas una variable double, dentro del método main, para almacenar la salida del método.

El producto punto, debería devolver un número, de la misma manera que el método "obtenerMagnitud".

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
class Vector2D {
    private double x;
    private double y;
    //private static final double PI = 3.1415;
 
    public Vector2D(double x, double y) {
        this.x = x;
        this.y = y;
    }
 
    public double getX() {
        return x;
    }
 
    public double getY() {
        return y;
    }
 
    public static Vector2D sumar(Vector2D v1, Vector2D v2) {
        Vector2D respuesta = new Vector2D(v1.getX() + v2.getX(), v1.getY() + v2.getY());
        return respuesta;
    }
 
    public static Vector2D restar(Vector2D v1, Vector2D v2) {
        Vector2D respuesta = new Vector2D(v1.getX() - v2.getX(), v1.getY() - v2.getY());
        return respuesta;
    }
 
    public static double obtenerProductoPunto(Vector2D v1, Vector2D v2) {
        double respuesta = v1.getX() * v2.getX() + v1.getY() * v2.getY();
        return respuesta;
    }
 
    public double obtenerMagnitud() {
        double respuesta = Math.sqrt(getX() * getX() + getY() * getY());
        return respuesta;
    }
 
    public void imprime() {
        System.out.println("(" + getX() + ", " + getY() + ")");
    }
 
    public static void main(String[] args) {
        Vector2D u = new Vector2D(Double.parseDouble(args[0]), Double.parseDouble(args[1]));
        Vector2D v = new Vector2D(Double.parseDouble(args[2]), Double.parseDouble(args[3]));
        Vector2D respuesta = new Vector2D(0.0, 0.0);
 
        System.out.println("Vectores");
        u.imprime();
        v.imprime();
 
        System.out.println("\nSuma");
        respuesta = Vector2D.sumar(u, v);
        respuesta.imprime();
 
        System.out.println("\nResta");
        respuesta = Vector2D.restar(u, v);
        respuesta.imprime();
 
        System.out.println("\nProducto punto");
        System.out.println(Vector2D.obtenerProductoPunto(u, v));
 
        System.out.println("\nMagnitud del vector suma");
        System.out.println(Vector2D.sumar(u, v).obtenerMagnitud());
    }
}

Le hice otros cambios a tu código, espero que algunas de las modificaciones te sirvan.

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