Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CreadorEquipos en Java
CreadorEquipos en Java
Propiedades:
Métodos:
Test:
Esta clase se encarga de coger un archivo de texto que contiene los nombres de
los alumnos (por ejemplo, alumnos.txt) y obtener a partir de ellos una lista de objetos
Alumno
Métodos:
Como puedes ver, cada línea tiene los datos de un alumno, de forma que primero
viene el nombre y separado por punto y coma, sus puntos de experiencia.
Test
Nota: Para hacer los test primero necesitarás hacer un archivo alumnos.txt con los
alumnos escritos en el ejemplo descrito anteriormente.
1. Crea un CargadorAlumnos que lea todos los alumnos del archivo alumnos.txt.
Comprueba que la lista devuelta tiene exactamente 5 alumnos.
2. Añade al test anterior una comprobación de que el primer alumno de la lista se
llama “Gómez Pérez, Isabel” y el último “Smith Pérez, Ana”
3. En un test diferente, crea un CargadorAlumnos que lea los alumnos del archivo
(que no existe) alumnos2.txt. Comprueba que se lanza una IOException.
Equipo
Esta clase representa un equipo de alumnos. Cada equipo tiene un número que lo
identifica (por ejemplo, equipo 1), una lista de miembros y un capitán (que puede estar
vacío).
Propiedades:
Métodos:
• El constructor crea un equipo con el número pasado como argumento, inicializa los
miembros con un set vacío y deja vacía la propiedad del capitán.
• getNumero: devuelve el número del equipo.
• add: añade un alumno al equipo
• getNumeroAlumnos: devuelve el número de alumnos que hay en el equipo
• setCapitan: cambia el capitán del equipo y le pone el recibido como parámetro.
• getCapitan: devuelve el capitán del equipo
• iterator: Simplemente llama al método iterator del conjunto de miembros y nos
devuelve el iterator que nos de.
Muy importante: ¿Para qué sirve este método? Con él, podemos poner un objeto
Equipo en un for mejorado y recorrer sus alumnos.
Test
Propiedades:
Métodos:
Test:
▪ getTotalExp → 11
▪ getExpPromedio → 2.2
▪ getDesviacionTipica → 0.74
SelectorCapitan
Esta interfaz representa un objeto que sirve para asignar un capitán a un equipo.
Métodos:
Métodos:
Test
◦ A continuación crea un objeto Equipo con número 1 y añade todos los alumnos
de la lista anterior.
◦ Después, obtén un SelectorCapitanAleatorio y haz que le ponga un capitán al
equipo que acabas de hacer.
◦ Comprueba que el equipo tiene un capitán que no es nulo (null)
◦ Comprueba que el capitán del equipo se encuentra guardado en la lista de
alumnos del primer punto.
SelectorCapitanExp
Esta clase sirve para poner a un equipo como capitán al alumno con mayor puntos
de experiencia.
Métodos:
Test
Constantes:
Esta clase representa un objeto que sirve para obtener un objeto de tipo
SelectorCapitan
Métodos:
Métodos:
• formarEquipos: Devuelve una lista con los equipos que salen de aplicar el método
de formación que se programe en cada clase hija a la lista de alumnos recibida
como parámetro. El número de miembros de cada equipo es el segundo parámetro
que recibe el método. Los alumnos que sobren se asignarán a un equipo con
número -1, que significa “grupo de alumnos sin equipo”.
Test:
Esta clase permite generar equipos cuyos alumnos se eligen de forma aleatoria.
Métodos:
Test
Esta clase permite generar equipos equilibrados usando un algoritmo genético que
busca minimizar la desviación típica de los puntos de experiencia de los equipos
generados.
Métodos:
Elementos destacados:
• lstAlumnos: Es un List con los objetos Alumno que se cargan de un archivo txt.
• spnTamGrupo: Es un Spinner con el número de alumnos que forman un grupo.
• cmbMetodosFormacionEquipos: Es un ComboBox con objetos de tipo
MetodoFormacionEquipos que sirven para formar equipos de alumnos.
• txtEquipos: Es un TextArea donde se pondrán los equipos formados.
• btnFormarEquipos: Botón que al ser pulsado forma equipos y añade el resultado a
txtEquipos.
• Menu: En la parte superior hay un menú con las opciones “abrir”,”guardar” y “salir”.
◦ Al pulsar “abrir” se llamará al método cargarListaAlumnos
◦ Al pulsar “guardar” se llamará al método guardarEquipos
◦ Al pulsar “salir” el programa finalizará.
Métodos: