import java.util.ArrayList; import java.io.*; /** Esta clase se creará cuando el usuario ejecute "Nuevo usuario" o * "Cargar Usuario". En el primer caso se preguntará los datos por pantalla * y en el segundo se leerán los datos de disco. */ public class Usuario implements Serializable { private String nombre; private int carrera; private ArrayList ramos_ok = new ArrayList < String > (); private static final long serialVersionUID=10; /** Constructor base del Objeto Usuario. */ public Usuario() { } /** Constructor del Objeto Usuario. * @param nombre Es el nombre o apodo del usuario. * @param carrera Es el código de la carrera que está estudiando el usuario. */ public Usuario(String nombre, int carrera) { this.nombre = nombre; this.carrera = carrera; } /** Método para obtener el codigo de la carrera que rinde el usuario. * @return el codigo de la carrera. */ public int getCarrera() { return carrera; } /** Método para obtener el nombre del usuario. * @return el nombre. */ public String getNombre() { return nombre; } /** Método para obtener la lista con los ramos pasados. * @return La lista con los ramos pasados. */ public ArrayList < String > getRamosPasados() { return ramos_ok; } /** Agrega el ramo a la lista de ramos pasados. * @param ramo Es el ramo que hay que agregar. */ public void setRamoPasado(String ramo) { ramos_ok.add(ramo); } /** Elimina el ramo de la lista de ramos pasados. * @param ramo Es el ramo que aún está pendiente. */ public void setRamoPendiente(String ramo) { ramos_ok.remove(ramo); } /** Actualiza el valor del coigo de carrera. * @param carrera Es el nuevo codigo de carrera. */ public void setCarrera(int carrera) { this.carrera = carrera; } /** Actualiza el nombre. * @param nombre Es el nuevo nombre. */ public void setNombre(String nombre) { this.nombre = nombre; } /** Método para saber si está bien la clase... se puede borrar para su * funcionamiento en el programa completo. */ public void printRamos() { for (int i=0; i