}import [Link].
ArrayList;
public class Estudiante {
// Variables de instancia
private String nombre;
private String matricula;
private String carrera;
private ArrayList<String> materias;
// Variable estática para contar estudiantes
private static int cantidadEstudiantes = 0;
// Constructor básico (nombre y matrícula)
public Estudiante(String nombre, String matricula) {
[Link] = nombre;
[Link] = matricula;
[Link] = "No asignada";
[Link] = new ArrayList<>();
cantidadEstudiantes++;
// Constructor sobrecargado (con carrera)
public Estudiante(String nombre, String matricula, String carrera) {
[Link] = nombre;
[Link] = matricula;
[Link] = carrera;
[Link] = new ArrayList<>();
cantidadEstudiantes++;
}
// Método para agregar múltiples materias (varargs)
public void agregarMateria(String... nuevasMaterias) {
for (String materia : nuevasMaterias) {
if () {
[Link](materia);
// Método sobrecargado para agregar una sola materia
public void agregarMateria(String materia) {
if () {
[Link](materia);
// Método para mostrar información del estudiante
public void mostrarInformacion() {
[Link]("\n--- Información del Estudiante ---");
[Link]("Nombre: " + nombre);
[Link]("Matrícula: " + matricula);
[Link]("Carrera: " + carrera);
[Link]("Materias inscritas: " + materias);
// Método estático para obtener cantidad de estudiantes
public static int obtenerCantidadEstudiantes() {
return cantidadEstudiantes;
public static void main(String[] args) {
// Crear ArrayList de estudiantes
ArrayList<Estudiante> listaEstudiantes = new ArrayList<>();
// Crear estudiantes usando diferentes constructores
Estudiante est1 = new Estudiante("María López", "A12345");
Estudiante est2 = new Estudiante("Carlos Ruiz", "B67890", "Ingeniería
Informática");
Estudiante est3 = new Estudiante("Ana Torres", "C54321", "Medicina");
// Agregar materias usando diferentes métodos
[Link]("Matemáticas");
[Link]("Física", "Programación"); // Varargs
[Link]("Algoritmos");
[Link]("Estructuras de Datos");
[Link]("Anatomía", "Biología", "Química Orgánica");
// Añadir estudiantes al ArrayList
[Link](est1);
[Link](est2);
[Link](est3);
// Recorrer y mostrar información con foreach
[Link]("=== LISTADO DE ESTUDIANTES ===");
for (Estudiante estudiante : listaEstudiantes) {
[Link]();
// Mostrar total de estudiantes
[Link]("\nTotal de estudiantes registrados: " +
[Link]());