0 votos
por (20 puntos) en General
Hola, empece este cuatrimeste la asignatura de programacion y no sy mui bueno y tal vez me puedan ayudar a resolver este ejercicio, mas o menos e echo lagunas preguntas pero la ultima no la consigo hacer

PREGUNTA: Realiza un método que cambie al azar la posición en la que se encuentra el móvil a un punto de coordenadas enteras entre 0 y 9.

les enseño lo que tengo echo y basen se en eso

/**

 *

 * @author ()

 * @version ()

 */

public class Movil

{

    /** Coordenada x del móvil*/

    private double x;

    /** Coordenada y del móvil*/

    private double y;

    /**Coordenada x del vector de velocidad*/

    private double vx;

    /**Coordenada y del vector de velocidad*/

    private double vy;

    /**

     * Constructor por defecto de Movil.

     * El móvil se sitúa en el origen de coordenadas y el

     * vector de velocidad es el (1,1)

     */

    public Movil()

    {

        x = 0;

        y = 0;

        vx = 1;

        vy = 1;

    }

    /**

     * Constructor que tiene como argumento dos reales con cordenadas (x,y)

     * del móvil. El vector velocidad tendrá el valor de (1,1)

     */

    public Movil(double x, double y)

    {

       vx = 1;

       vy = 1;

    }

    /**

     * Constructor con cuatro argumentos de tipo real. Los dos primeros representa

     * la posición del móvil y los dos segundos su vector velocidad.

     */

    public Movil(double a, double b, double va, double vb)

    {

    }

     /**

     * Modifica la coordenada x del vector velocidad.

     * @param nvx nueva coordenada x del vector velocidad

     */

    public void setVx(double nvx)

    {

        vx = nvx;

    }

    /**

     * Modifica la coordenada y del vector velocidad.

     * @param nvy nueva coordenada y del vector velocidad

     */

    public void setVy(double nvy)

    {

        vy = nvy;

    }

    /**

     * Mueve el móvil según el sentido de la velocidad

     */

    public void mover()

    {

        x += vx;

        y += vy;

    }

    /**

     * Retorna cierto si el móvil está parado, esto es, si el vector

     * de velocidad es nulo.

     * @return cierto si el vector de velocidad es nulo.

     */

    public boolean estaParado()

    {

        if ((vx == 0) && (vy == 0)) {

            return true;

        } else {

            return false;

        }

    }

    /**

     * Modifica el vector velocidad 90 grados.

     */

    public void girar90()

    {

        double avx = vx;

        double avy = vy;

        vy = avx;

        vx = -avy;

    }

    /**

     * Modifica el vector velocidad 180 grados.

     */

    public void girar180()

    {

        girar90();

        girar90();

    }

     /**

     * Retorna cierto si el móvil se encuentra en un

     * rectángulo de dimensiones ancho x alto

     * cuya esquina superior izquierda esta en (xr,yr).

     * @return cierto si está en el rectángulo.

     */

    public boolean estaDentroRectangulo(double xr, double yr,

                                            double ancho, double alto)

    {

        if ((xr < x) &amp;&amp; (x < xr + ancho) &amp;&amp; (yr > y) &amp;&amp; (y > yr -alto)) {

            return true;

        } else {

            return false;

        }

    }

     /**

     * Retorna cierto si el móvil se encuentra en un

     * cuadrado de dimensiones lado x lado

     * cuya esquina superior izquierda esta en (xr,yr).

     * @return cierto si está en el cuadrado.

     */

    public boolean estaDentroCuadrado(double xr, double yr,

                                            double lado)

    {

        boolean esta = estaDentroRectangulo(xr, yr, lado, lado);

        return esta;

    }

    /**

     * Retorna la distancia del móvil al punto (xr,yr)

     */

   public double hallarDistancia(double xr, double yr)

   {

       double distancia = Math.hypot(x - xr, y = yr);

       return distancia;

    }

   /**

     * método que cambia al azar la posición en la que se encuentra el móvil a

     * un punto de coordenadas enteras entre 0 y 9.

    */


1 Respuesta

0 votos
por (220 puntos)
public void cambiarCoordenadas()

{

        Random rnd = new Random();
        x = rnd.nextDouble() * 10;
        y = rnd.nextDouble() * 10;

}

Espero comentarios....

Preguntas relacionadas

0 votos
2 respuestas
preguntado por lyrthaave (20 puntos) Ene 28, 2016 en Java
0 votos
1 respuesta
0 votos
1 respuesta
0 votos
1 respuesta
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...