Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafio

Clase Curso
public class Curso implements Comparable {
private String nombre;
private String instructor;

public Curso(String nombre, String instructor) {
    this.nombre = nombre;
    this.instructor = instructor;
}

public String getNombre() {
    return nombre;
}

public String getInstructor() {
    return instructor;
}

@Override
public int compareTo(Curso otro) {
    return this.nombre.compareTo(otro.getNombre());
}

@Override
public String toString() {
    return "Curso: " + nombre + " - Instructor: " + instructor;
}

}
Clase Estudiante
public class Estudiante {
private String nombre;
private int edad;

public Estudiante(String nombre, int edad) {
    this.nombre = nombre;
    this.edad = edad;
}

public String getNombre() {
    return nombre;
}

public int getEdad() {
    return edad;
}

@Override
public String toString() {
    return "Estudiante: " + nombre + " - Edad: " + edad;
}

}
Clase principal
import java.util.ArrayList;
import java.util.Collections;

public class Principal {
public static void main(String[] args) {

    Curso c1 = new Curso("Java Básico", "Carlos");
    Curso c2 = new Curso("POO con Java", "Ana");
    Curso c3 = new Curso("Estructuras de Datos", "Luis");

    ArrayList<Curso> listaCursos = new ArrayList<>();
    listaCursos.add(c1);
    listaCursos.add(c2);
    listaCursos.add(c3);

    Collections.sort(listaCursos);

    for (Curso curso : listaCursos) {
        System.out.println(curso);
    }
}

}

1 respuesta

Hola David, espero que estés bien

¡Espero que estés bien! Veo que estás trabajando con clases y colecciones en Java, y parece que ya tienes una buena base con las clases Curso y Estudiante, además de la clase principal que maneja una lista de cursos.

Para el desafío que estás enfrentando, podrías considerar expandir tu aplicación para incluir una lista de estudiantes y asociarlos con los cursos. Aquí te dejo algunas ideas que podrían ayudarte a avanzar:

  1. Agregar Estudiantes a los Cursos:
    Podrías modificar la clase Curso para que tenga una lista de estudiantes inscritos. Por ejemplo:

    private List<Estudiante> estudiantes;
    
    public Curso(String nombre, String instructor) {
        this.nombre = nombre;
        this.instructor = instructor;
        this.estudiantes = new ArrayList<>();
    }
    
    public void agregarEstudiante(Estudiante estudiante) {
        estudiantes.add(estudiante);
    }
    
    public List<Estudiante> getEstudiantes() {
        return estudiantes;
    }
    
  2. Gestionar Estudiantes en la Clase Principal:
    Puedes crear instancias de Estudiante y agregarlas a los cursos correspondientes:

    Estudiante e1 = new Estudiante("Juan", 20);
    Estudiante e2 = new Estudiante("Maria", 22);
    
    c1.agregarEstudiante(e1);
    c2.agregarEstudiante(e2);
    
  3. Mostrar Estudiantes de Cada Curso:
    Al imprimir los cursos, también podrías mostrar los estudiantes inscritos:

    for (Curso curso : listaCursos) {
        System.out.println(curso);
        for (Estudiante estudiante : curso.getEstudiantes()) {
            System.out.println("  " + estudiante);
        }
    }
    

Estas son solo algunas sugerencias para que puedas expandir tu aplicación y practicar más conceptos de listas y colecciones. Espero que esto te ayude a avanzar en tu desafío.

¡Espero haber ayudado y buenos estudios!