Ayuda programa

Hola, necesito un programa que realice estás tres cosas

1. Adicionar estudiante
2. Adicionar asignatura al estudiante, buscando al estudiante por código

3. Mostrar las asignaturas de un estudiante, buscando al estudiante por código

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

class Programa {   

class Programa {
    List<Estudiante> estudiantes;
    // 1. Adicionar estudiante
    void adicionarEstudiante( Estudiante e ) {
        estudiantes.add(e);
     }
     //, buscando al estudiante por código
     Estudiante porCodigo(String codigo ) {
         for( Estudiante e : estudiantes ) {
             if ( e.codigo() == codigo ) {
                 return e;
             }
        }
        throw IllegalArgumentException(codigo);
    }
     //3. Mostrar las asignaturas de un estudiante
    void mostrarAsignaturas(String codigoEstudiante ) {
           // .. buscando al estudiante por código
           for ( Asignatura a : porCodigo(codigoEstudiante).asignaturas()) {
                System.out.println(a);
           }
    }
}
class Estudiante {
     List<Asignatura> asignatura;
     // 2. Adicionar asignatura al estudiante,
     void adicionarAsignatura(Asignatura a) {
          asignatura.add(a);
     }
    List<Asignatura> asignatura() {
       return asignatura;
    }
}

done!

Imagen de Sr. Negativo

Buena solución ...

Pero no creo que @maferojass1 pueda entender el código (ni mucho menos terminarlo), por lo general los que piden este tipo ayuda no consultan las respuestas, y cuando lo hacen se quejan que no les dan el código completo.

Esta solución al menos puede servirle a alguien más.