Os comento tengo dos clases y una de ellas tiene como atributo un array de objetos de otra clase, el problema me lo encuentro para llenar el array y hacer consultas. os dejo el codigo.
Esta es la clase campeonato la que tiene el array de cla clase Equipo
Código:
public class Campeonato {
private String nombreCampeonato;
private Equipo equipo[] = new Equipo[6];
private String equipos;
public String getNombreCampeonato() {
return nombreCampeonato;
}
public Equipo[] getEquipo() {
return equipo;
}
public String getEquipos() {
return equipos;
}
public void setNombreCampeonato(String nombreCampeonato) {
this.nombreCampeonato = nombreCampeonato;
}
public void setEquipo(Equipo[] equipo) {
this.equipo = equipo;
}
public void setEquipos(String equipos) {
this.equipos = equipos;
}
}
Clase Equipo
Código:
public class Equipo{
private String nombreEquipo;
private byte pJugados;
private byte pGanados;
private byte pEmpatados;
private byte pPerdidos;
private byte gFavor;
private byte gContra;
private byte puntos;
public Equipo() {
this.nombreEquipo = "";
this.pJugados = 0;
this.pGanados = 0;
this.pEmpatados = 0;
this.pPerdidos = 0;
this.gFavor = 0;
this.gContra = 0;
this.puntos = 0;
}
public String getNombreEquipo() {
return nombreEquipo;
}
public byte getpJugados() {
return pJugados;
}
public byte getpGanados() {
return pGanados;
}
public byte getpEmpatados() {
return pEmpatados;
}
public byte getpPerdidos() {
return pPerdidos;
}
public byte getgFavor() {
return gFavor;
}
public byte getgContra() {
return gContra;
}
public byte getPuntos() {
return puntos;
}
public void setNombreEquipo(String nombreEquipo) {
this.nombreEquipo = nombreEquipo;
}
public void setpJugados(byte pJugados) {
this.pJugados = pJugados;
}
public void setpGanados(byte pGanados) {
this.pGanados = pGanados;
}
public void setpEmpatados(byte pEmpatados) {
this.pEmpatados = pEmpatados;
}
public void setpPerdidos(byte pPerdidos) {
this.pPerdidos = pPerdidos;
}
public void setgFavor(byte gFavor) {
this.gFavor = gFavor;
}
public void setgContra(byte gContra) {
this.gContra = gContra;
}
public void setPuntos(byte puntos) {
this.puntos = puntos;
}
}
Y la principal
Código:
public class GestionClubsConsolas {
static int leer_opcion() {
int opcion = -1;
do {
System.out.println("\nIntroduzca opcion: ");
opcion = Leer.datoInt();
} while (opcion < 0 || opcion > 5);
return opcion;
}
static void mostrar_menu() {
System.out.println("\nMENU PRINCIPAL");
System.out.println("\n------------------------------------------------");
System.out.println("\n1.--> Nuevo Campeonato.");
System.out.println("\n2.--> Actualizar Campeonato.");
System.out.println("\n3.--> Consultar Campeonato.");
System.out.println("\n\n0.--> Salir.");
System.out.println("\n------------------------------------------------");
}
static void tratar_opcion(int op, Campeonato campeonato) {
switch (op) {
case 0:
//Salir();
break;
case 1:
nuevoCampeonato(campeonato);
break;
case 2:
//ActualizarCampeonato();
break;
case 3:
//ConsultarCampeonato();
break;
}
}
public static void main(String args[]) {
int opcion = -1;
Campeonato campeonato = new Campeonato();
do {
mostrar_menu();
opcion = leer_opcion();
tratar_opcion(opcion, campeonato);
} while (opcion != 0);
System.out.println("\n\nFIN DEL PROGRAMA.\n\n");
}
static void nuevoCampeonato(Campeonato campeonato) {
String nombre;
System.out.println("Dele un nombre al campeonato");
nombre = Leer.dato();
campeonato.setNombreCampeonato(nombre);
System.out.println("El nombre del campeonato será: " + campeonato.getNombreCampeonato());
introducirEquipos(campeonato);
}
static void introducirEquipos(Campeonato campeonato) {
int i;
String nombre;
for (i = 0; i < campeonato.getEquipo().length; i++) {
System.out.println("Introduzca el nombre del equipo " + (i+1) + ".");
nombre = Leer.dato();
}
}
}
En las letras negritas tengo el problema no se como llenar el array con el nombre de los equipos.