Java - Ayuda para hacer la red de metro

 
Vista:

Ayuda para hacer la red de metro

Publicado por oswaldo (2 intervenciones) el 29/07/2011 19:22:03
Buenas, estoy haciendo un proyecto de programación y ya que los profesores están de vacaciones no pueden resolver mis dudas, por eso me gustaría que me ayudaran.
Esta es la clase que tengo que hacer, el problema lo tengo en el método mancha que no entiendo como hacerlo. En resumen, tendría que hacer esto:

las estaciones no saben en qué línea están: sólo que están enlazadas

cuando a una estación se llega con distancia X desde otra,
1/ si ya tiene apuntada una distancia más corta Y < X, no hace nada

2/ si la mejor distancia hasta el momento Z, es mayor que X,
entonces la estación se pone a distancia X
y les propone a todos sus enlaces pasar a distancia X+1
cada enlace repite este proceso

El problema es que no se como hacerlo.


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
public class Estacion {
    /**
     * Atributo privado que da nombre a las estaciones.
     */
    private String nombre;
 
    /**
     *  Lista donde iremos guardando los enlaces de las distintas estaciones.
     */
    private List<Estacion> lista = new ArrayList<Estacion>();
 
    /**
     * Atributo para apuntar desde qué estación llegas
     */
    private Estacion partida;
 
    /**
     * Atributo para saber la distancia mínima a la que te encuentras del origen.
     */
    private int distanciaMinima;
 
    /**
     * Constructor
     * @param nombre - denominacion de la estacion
    */
 
    public Estacion(String nombre) {
        this.nombre = nombre;
    }
 
    /**
     * Getter
     * @return nombre de la estacion
    */
 
    public String getNombre() {
        return nombre;
    }
 
        /**
     * Getter.
     * @return la mejor estacion para venir desde la salida.
     */
 
    public Estacion getDesde() {
        return partida;
    }
 
    /**
     * Getter.
     * @return menor distancia de esta estación a la salida.
     */
 
    public int getDistancia() {
        return distanciaMinima;
    }
 
 
    /**
     * Enzala una estacion con otra.
     * @param estacion - otra estacion con la que hay enlace.
    */
    public void enlaza(Estacion estacion) {
        lista.add(estacion);
 
    }
 
    /**
     * Resetea desde = null para volver a calcular la ruta optima.
     */
 
    public void reset() {
        partida = null;
 
    }
 
    /**
     * Propaga distancia a los enlaces, quedandose con el enlace de distancia minima. Vease el algoritmo que se describe en el enunciado.
     * @param desde - de donde nos llega un enlace.
     * @param distancia - distancia a la que estariamos de la salida viniendo por 'desde'.
     */
 
    public void mancha(Estacion desde, int distancia) {
        }
 
    }


Gracias por su ayuda y disfruten del verano.
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 para hacer la red de metro

Publicado por dretyuiop (1 intervención) el 29/02/2012 21:40:09
haz una funcion y ya esta
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