Java - Problemas al ordenar y guardar arrays para un calendario de liga

 
Vista:

Problemas al ordenar y guardar arrays para un calendario de liga

Publicado por alifantes (1 intervención) el 25/02/2020 03:51:10
Estoy intentando generar un calendario de liga pero tengo la clase calendario que me genera un array con los equipos que me los ordena para generar un todos contra todos y otra clase jornada donde guardo las jornadas que son los equipos en diferente orden pero me los desordena bien en el metodo y los guarda bien en el array por jornadas pero al acceder fuera del metodo me guarda en las jornadas siempre el mismo orden espero haber explicado bien que es un poco lioso gracias.

esta es mi metodo calendario obviar las jornadas que se repiten enfrentamientos solo esta para probar

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
public void generarCalendario() {
 
    System.out.println("GENERA CALENDARIO");
 
    for(int i=0 ;i<numeroJornadas;i++) {
 
        Equipo suelto = equipos[0];
 
        for(int j = 1 ; j<equipos.length;j++) {
 
            Equipo mover = equipos[j];
 
            equipos[j-1]=mover;
 
        }
 
        equipos[equipos.length-1]=suelto;
 
 
        Jornada jo = new Jornada(i+1,equipos);
 
        this.jornadas[i]=jo;
 
        liga.crearCalendario(i, jornadas[i]);
 
        System.out.println("Jornada " + (i+1));
 
        System.out.println(jornadas[i].getEquipos()[0].getNombreCompleto() + " VS " + jornadas[i].getEquipos()[1].getNombreCompleto());
 
        System.out.println(jornadas[i].getEquipos()[2].getNombreCompleto() + " VS " + jornadas[i].getEquipos()[3].getNombreCompleto());
 
        System.out.println("");
 
    }
 
}

ME IMPRIME ESTO

GENERA CALENDARIO
Jornada 1
Unionistas Tudela VS Real Merida
Rayo Cadiz VS Rayo Mallorca

Jornada 2
Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Jornada 3
Rayo Cadiz VS Rayo Mallorca
Unionistas Tudela VS Real Merida

Jornada 4
Rayo Mallorca VS Unionistas Tudela
Real Merida VS Rayo Cadiz

Jornada 5
Unionistas Tudela VS Real Merida
Rayo Cadiz VS Rayo Mallorca

Jornada 6
Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela


Pero luego al acceder desde fuera me pasa esto

ESTA ES LA CLASE CALENDARIO DONDE ESTA EL METODO ANTERIOR

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
public Calendario(Liga liga) {
 
    this.liga=liga;
    equipos=liga.getEquipos();
    numeroEquipos=liga.getEquipos().length;
    numeroJornadas=numeroEquipos*2-2;
    jornadas=new Jornada[numeroJornadas];
 
    generarCalendario();
 
    prueba();
 
 
}
 
 
public void prueba() {
 
    System.out.println("CALENDARIO FINAL");
 
    for(int i = 0 ; i<numeroJornadas;i++) {
 
        System.out.println(jornadas[i].getEquipos()[0].getNombreCompleto() + " VS " + jornadas[i].getEquipos()[1].getNombreCompleto());
 
        System.out.println(jornadas[i].getEquipos()[2].getNombreCompleto() + " VS " + jornadas[i].getEquipos()[3].getNombreCompleto());
 
        System.out.println(" ");
    }
 
 
 
}

ME IMPRIME ESTO

CALENDARIO FINAL
Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Real Merida VS Rayo Cadiz
Rayo Mallorca VS Unionistas Tudela

Da igual que acceda desde donde acceda

OS DEJO TAMBIEN LA CLASE JORNADA PERO CREO QUE AQUI NO ESTA EL PROBLEMA


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Jornada{
 
	private int jornada;
 
	private Equipo [] equipos;
 
 
	public Jornada ( int jornada, Equipo[] equipos) {
 
 
		this.jornada=jornada;
 
		this.equipos=equipos;
 
 
 
	}
 
}

NO OS COPIO LOS GETTER Y SETTER PERO ESTAN

muchas gracias
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