package institucion;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Matricula {
private List<Docente> docentes = null;
private List<Estudiante> estudiantes = null;
private List<Materia> materias = null;
// MATRICULA DE DOCENTES //
docentes = new ArrayList<Docente>();
System.
out.
println("Para finalizar el ingreso de docentes digite en el nombre XXXX"); Docente docente = new Docente();
docente.leer();
while(docente.getNombredocente().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
docentes.add(docente);
docente = new Docente();
docente.leer();
}
// MATRICULA DE ESTUDIANTES //
estudiantes = new ArrayList<Estudiante>();
System.
out.
println("Para finalizar el ingreso de estudiantes digite en el nombre XXXX"); Estudiante estudiante = new Estudiante();
estudiante.leer();
while(estudiante.getNombre().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
estudiantes.add(estudiante);
estudiante = new Estudiante();
estudiante.leer();
}
// MATRICULA DE MATERIAS //
materias = new ArrayList<Materia>();
System.
out.
println("Para finalizar el ingreso de materias digite en el nombre XXXX"); Materia materia = new Materia();
materia.leer();
for ( int i=0; i<docentes.size(); i++ )
{
System.
out.
println(docentes.
get(i
).
getNombredocente()); }
System.
out.
println("Digite el nombre del docente que dicta la materia"); String buscador1
= lector.
readLine();
for ( int i=0; i<docentes.size(); i++ )
{
if ( docentes.get(i).getNombredocente().equalsIgnoreCase(buscador1) )
{
materia.setNombredocente(docentes.get(i).getNombredocente());
}
}
while(materia.getNombremateria().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
materias.add(materia);
materia = new Materia();
materia.leer();
if ( materia.getNombremateria().compareToIgnoreCase("XXXX")!= 0){
for ( int i=0; i<docentes.size(); i++ )
{
System.
out.
println(docentes.
get(i
).
getNombredocente()); }
System.
out.
println("Digite el nombre del docente que dicta la materia"); String buscador2
= lector.
readLine();
for ( int i=0; i<docentes.size(); i++ )
{
if ( docentes.get(i).getNombredocente().equalsIgnoreCase(buscador2) )
{
materia.setNombredocente(docentes.get(i).getNombredocente());
}
}
}
}
}
System.
out.
println("Ingrese el nombre del estudiante"); String buscador1
= lector.
readLine();
for (Estudiante estudiante : estudiantes)
{
if ( estudiante.getNombre().equals(buscador1) )
{
System.
out.
println("Debe matricular minimo 1 materias o maximo 3"); System.
out.
println("¿Cuantas materias va a matricular?"); int n
= Integer.
parseInt(lector.
readLine()); if( n < 1 || n > 7 )
{System.
out.
println("Ingreso erroneo, porfavor ingrese nuevamente el numero de materias");} else{
for ( Materia materia : materias ) // Impresion de cada docente las materias de que dicta - PRUEBA 1
{
System.
out.
println(materia.
getNombremateria()); }
for ( int i=0; i<n; i++)
{
System.
out.
println("De las materias descritas anteriormente digite la que quiere matricular"); String buscador2
= lector.
readLine();
for ( Materia materia : materias ) // Impresion de cada docente las materias de que dicta - PRUEBA 2
{
if ( materia.getNombremateria().equalsIgnoreCase(buscador2) )
{
estudiante.materiasdelestudiante.add(materia);
materia.estudiantesdelamateria.add(estudiante);
}
}
}
}
System.
out.
println("-----------------------"); System.
out.
println("Las materias que matriculo: "+estudiante.
getNombre());
for ( int i=0; i<estudiante.materiasdelestudiante.size(); i++)
{
System.
out.
println(estudiante.
materiasdelestudiante.
get(i
).
getNombremateria()); }
}
}
}
System.
out.
println("Ingrese el nombre del docente"); String buscador1
= lector.
readLine();
for ( Docente docente : docentes )
{
if ( docente.getNombredocente().equals(buscador1) )
{
System.
out.
println("Ingrese el nombre de la materia"); String buscador2
= lector.
readLine();
for ( int i=0; i<materias.size(); i++ )// Añadir materia a la lista de materias del estudiante - PRUEBA 1
{
if ( materias.get(i).getNombredocente().equalsIgnoreCase(buscador1) && materias.get(i).getNombremateria().equalsIgnoreCase(buscador2))
{
System.
out.
println("El tamaño de la lista estudiantes de la materia es:" +materias.
get(i
).
estudiantesdelamateria.
size()); System.
out.
println("Los estudiantes son:"); for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
{
System.
out.
println(materias.
get(i
).
estudiantesdelamateria.
get(j
).
getNombre()); }
System.
out.
println("Seleccione el estudiante al que quiere ingresar notas"); String buscador3
= lector.
readLine();
for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
{
if ( materias.get(i).estudiantesdelamateria.get(j).getNombre().equalsIgnoreCase(buscador3))
{
System.
out.
println("Estoy dentro 1"); for ( int k=0; k<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.size(); k++ )
{
if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).getNombremateria().equalsIgnoreCase(buscador2) )
{
// ¿CUAL DE ESTOS DOS DEBO USAR? //
/////// ----------- 1 ---------------- //////
System.
out.
println("Estoy dentro 2"); materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notas_materia();
/////// ----------- 2 ---------------- //////
for ( int l=0; l<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.size(); l++)
{
if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).getCodigoestudiante().equals(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante()) )
{
materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).setCodigoestudiante(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante());
}
}
}
}
}
}
}
}
}
}
}
}