Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
Este foro usa cookies
Este foro usa cookies para almacenar tu sesión de inicio si estás registrado, y de tu última visita si no lo estás. Las Cookies son un pequeños documento de texto almacenado en tu PC; las cookies de este foro sólo pueden ser usadas en el mismo y no suponen ninguna amenaza para tu seguridad. Estas Cookies también anotan los hilos que has leído y cuándo lo has hecho. Por favor, confirma si aceptas o declinas el uso de estas cookies.

Una cookie será almacenada en tu navegador a pesar de tu decisión para prevenir que este mensaje te vuelva a aparecer. Podrás cambiar la configuración de las cookies en cualquier momento siguiendo el enlace de la parte inferior.

Calificación:
  • 4 voto(s) - 3 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Solución a la Práctica 5
#15
(04-01-2013, 14:06)Rosa escribió:

[Para ver los enlaces debes registrate]

Tengo dos dudas de la práctica. La primera es de la clase Vector. No entiendo por qué cuando te pide un constructor que toma como argumentos dos objetos de la clase Punto, se pone:
origen=a.clonar();
extremo=b.clonar();
y en el anterior constructor también se pone extremo=a.clonar().
¿El a.clonar() en extremo y después en origen, es el mismo?
Tampoco sé si me he explicado muy bien...

Y la otra es que, en el método
public double getX(){
return origen.getX();
}
me aparece este error: "Cannot invoke getX() on the primitive type doble" Y no sé cómo arreglarlo.

Si alguien me ayuda Sonrisa

Bien Rosa, intentaré explicarme lo mejor que pueda.
En la clase vector hay varios constructores, es decir, que no compares unos con otros, porque en unos se emplean nombres que si los comparas con otros tienden a confusión. Es decir, a la pregunta "¿El a.clonar() en extremo y después en origen, es el mismo? ", la respuesta es no, no es el mismo, solo que los llamé de la misma manera. Con mas detalle:

En este constructor:
Código:
public Vector (Punto a){
        origen = new Punto (0,0);
        extremo = a.clonar();
    }
Dice el enunciado que se introduce un punto como argumento que será el extremo del vector, por lo tanto se iguala al extremo, el porqué clonar ya lo he explicado en este foro, pero te lo repito. clonar() es un método de la clase punto que te devuelve una copia del punto en cuestión. En la práctica se dice que los vectores son inmutables, por lo tanto tienes que crear copias de todos los objetos que entran como argumento.

Existe otro constructor:
Código:
public Vector (Punto a, Punto b){
        origen = a.clonar();
        extremo = b.clonar();
    }
Dice el enunciado que se introduce dos puntos (origen y extremo) como argumento. Que no te confunda el "a" de este constructor con el anterior, no tiene nada que ver. Se igualan origen y extremo a cada punto (clonado) por el mismo motivo que antes.

Bien, respecto a la otra duda...
El método está correcto, la causa del error pueden ser 2 cosas, que no hayas invocado bien el método o que el método de getX() de la clase punto no esté bien definido. Por tanto, mira si está llamando bien al metodo getX() desde el main. Un ejemplo:
Código:
    public static void main(String[] args) {
        Vector a = new Vector (new Punto(2,3), new Punto(4,5));
        double x = a.getX();
        System.out.println(x);
    }
Esto te debería imprimir 2.0
Si te lanza error todo apunta a que no está bien definido el getX() de la clase punto que debería estar así:
Código:
public double getX(){
        return x;
    }

Bueno, espero haberte ayudado Guiño
Responder


Mensajes en este tema
Solución a la Práctica 5 - por Jesús Hernández Galián - 25-12-2012, 22:14
RE: Solución a la Práctica 5 - por José Antonio Martín Martínez - 26-12-2012, 17:41
RE: Solución a la Práctica 5 - por alfonso - 26-12-2012, 18:10
RE: Solución a la Práctica 5 - por Paco Sánchez - 26-12-2012, 18:30
RE: Solución a la Práctica 5 - por Jesús Hernández Galián - 26-12-2012, 19:06
Re: Solución a la Práctica 5 - por alfonso - 27-12-2012, 00:04
RE: Solución a la Práctica 5 - por José Antonio Martín Martínez - 27-12-2012, 01:05
RE: Solución a la Práctica 5 - por Paco Sánchez - 29-12-2012, 02:56
RE: Solución a la Práctica 5 - por Pablo Lucas - 27-12-2012, 21:56
RE: Solución a la Práctica 5 - por Juan Pablo Navarro Castillo - 31-12-2012, 21:20
RE: Solución a la Práctica 5 - por Antonio - 02-01-2013, 19:11
RE: Solución a la Práctica 5 - por Jesús Hernández Galián - 02-01-2013, 19:19
RE: Solución a la Práctica 5 - por Antonio - 02-01-2013, 19:30
RE: Solución a la Práctica 5 - por Rosa - 04-01-2013, 14:06
RE: Solución a la Práctica 5 - por Jesús Hernández Galián - 04-01-2013, 14:35
RE: Solución a la Práctica 5 - por Rosa - 04-01-2013, 14:55
RE: Solución a la Práctica 5 - por Jesús Hernández Galián - 04-01-2013, 14:57

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)