[ Foro de Java ]

problemas con arrays al generar calendario liga

25-Feb-2020 03:57
Invitado (alifantes)
0 Respuestas

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


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

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


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




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...