/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Examen.Escuela;

import java.util.ArrayList;

/**
 *
 * @author felix
 */
public class Escuela {
    private String Nombre;
    ArrayList <Alumno> Alumnos;
    
    public Escuela(String unNombre){
        Nombre = unNombre;
        Alumnos = new ArrayList<Alumno>();
        
        LeeAlumnos();
    }
    
    public void Agrega_alumno(Alumno unAlumno){
        Alumnos.add(unAlumno);
    }
    
    public void LeeAlumnos() {
        Alumno a;
        a = new Alumno("Juan Pérez", "122kka");
        a.Agregar_Materia("Física", 10);
        a.Agregar_Materia("Química", 8);
        a.Agregar_Materia("Programación", 7);
        a.Agregar_Materia("Métodos Numéricos", 8);
        
        Agrega_alumno(a);

        a = new Alumno("Manuel Juárez", "8sdsdf8");
        a.Agregar_Materia("Física", 9);
        a.Agregar_Materia("Química", 8);
        a.Agregar_Materia("Programación", 8);
        a.Agregar_Materia("Métodos Numéricos", 8);
        a.Agregar_Materia("Algebra", 6);
        a.Agregar_Materia("Circuitos", 10);
        a.Agregar_Materia("Matemáticas", 8);

        Agrega_alumno(a);

        a = new Alumno("Carla Medina", "02392d");
        a.Agregar_Materia("Matemáticas", 10);
        a.Agregar_Materia("Química", 8);
        a.Agregar_Materia("Control", 7);
        a.Agregar_Materia("Electrónica I", 7);
        a.Agregar_Materia("Métodos Numéricos", 8);
        
        Agrega_alumno(a);

        a = new Alumno("María Luisa Rico", "9234jja");
        a.Agregar_Materia("Diseño", 8);
        a.Agregar_Materia("Matemáticas", 8);
        
        Agrega_alumno(a);
        
        a =  new Alumno("Luis Manuel Arce", "8234jf");
        a.Agregar_Materia("Física", 8);
        a.Agregar_Materia("Matemáticas", 9);
        a.Agregar_Materia("Álgebra", 7);
        
        Agrega_alumno(a);   
    }
    
    public String Lista_Alumnos(String unaMateria) {
        
        String aux = Nombre + "\n\n";
        aux += "Materia " + unaMateria + "\n";
        int k=1;
        
        for(Alumno i : Alumnos) {
            for(Object m : i.getMaterias()) {
                if(unaMateria.equals(m)) {
                    aux += k + " .- " + i.getNombre() + "\n";  
                    k++;
                }
            }
        }
        
        return aux;
    }
    
    public Alumno Mejor_promedio() {
        Alumno mejor = Alumnos.get(0);
        
        for(Alumno a: Alumnos) 
            if(mejor.Promedio() < a.Promedio()) 
                mejor = a;
        
        return mejor;
    }
    
}
