Se desea manejar los antecedentes de un curso. Cada curso cuenta con un nombre y con una nómina de alumnos. Por su parte, cada alumno cuenta con un ID, un nombre y un promedio final.
Algunos de los métodos asociados al curso son los que se indican a continuación:
MÉTODO DESCRIPCIÓN
public void matricular(Alumno a) permite AGREGAR al alumno ‘a’ al curso.
public boolean remover(Alumno a) permite REMOVER al alumno ‘a’ del curso.
public boolean estaInscrito(Alumno a) permite saber si el alumno ‘a’ se encuentra presente en el curso.
En el curso no se pueden tener alumnos repetidos, es decir, NO SERÍA POSIBLE tratar de matricular a un mismo alumno dos veces.
Se pide implementar las clases que permitan almacenar los datos de un curso y sus alumnos.
Se pide implementar la clase Main que contenga el método main que permita cumplir con la siguiente funcionalidad:
- Crear a tres alumnos con los siguientes datos: ID = 1; NOMBRE = “ALFA”; PROMEDIO = 6.5 ID = 2; NOMBRE = “BETA”; PROMEDIO = 4.5 ID = 3; NOMBRE = “GAMMA”; PROMEDIO = 5.5
- Crear el curso llamado PEF2501
- Matricular a ALFA y BETA en el curso PEF2501
- Imprimir en la salida estándar, utilizando el método estaInscrito(), si el alumno llamado BETA se encuentra inscrito en el curso.
- Imprimir en la salida estándar, utilizando el método estaInscrito(), si el alumno llamado GAMMA se encuentra inscrito en el curso.
- Remover del curso al alumno llamado BETA
- Imprimir la nómina del curso
Lo primero que debemos hacer es crear un paquete que llamaremos lógica donde crearemos las clases Alumno y Curso. Luego procederemos a darle la lógica a dichas clases.
Comenzaremos con la clase Alumno, esta contendrá tres atributos (ID, nombre y promedio), el constructor y los métodos requeridos para acceder a sus atributos.
El código de esta clase sería el siguiente:
package logica;
public class Alumno {
private String nombre;
private double ID;
private float promedio;
public Alumno() {
}
public Alumno(String nombre, double iD, float promedio) {
this.nombre = nombre;
this.ID = iD;
this.promedio = promedio;
}
public String getNombre() {
return nombre;
}
public double getID() {
return ID;
}
public float getPromedio() {
return promedio;
}
@Override
public String toString() {
return "Alumno (ID = " + ID + ", nombre = " + nombre
+ ", promedio = " + promedio + ")\n";
}
}
public void matricular(Alumno a)
public boolean Remover(Alumno a)
public boolean EstaInscrito(Alumno a)
El código seria el siguiente:
package logica;
import java.util.ArrayList;
public class Curso {
private String nombre;
private ArrayList [Alumno] nominaDeAlumnos = new ArrayList<>();
public Curso(String nombre) {
this.nombre = nombre;
}
public String getNombre() {
return nombre;
}
public ArrayList[Alumno] getNominaAlumnos() {
return nominaDeAlumnos;
}
public void matricular(Alumno a) {
if (!nominaDeAlumnos.contains(a)) {
nominaDeAlumnos.add(a);
} else {
System.out.println("error,el alumno ya esta inscrito");
}
}
public boolean Remover(Alumno a) {
if (nominaDeAlumnos.contains(a)) {
nominaDeAlumnos.remove(a);
return true;
}
else {
return false;
}
}
public boolean EstaInscrito(Alumno a) {
if (nominaDeAlumnos.contains(a)) {
return true;
}
else
{
return false;
}
}
@Override
public String toString() {
return "Curso Nombre = " + nombre + "\nNomina Alumnos: "
+ nominaDeAlumnos + "\n";
}
}
Por ultimo crearemos un paquete llamado Aplicación donde irá la clase Main que contendrá el método principal main e implementaremos las dos clases anteriores.
package Aplicacion;
import java.util.ArrayList;
import Logica.Alumno;
import Logica.Curso;
public class Main {
public static void main(String[] args) {
Curso PEF2501 = new Curso("PF2150");
Alumno alfa = new Alumno(" ALFA", 1, (float) 6.5);
Alumno beta = new Alumno(" BETA", 2, (float) 4.5);
Alumno gamma = new Alumno("GAMMA", 3, (float) 5.5);
PEF2501.matricular(alfa);
PEF2501.matricular(beta);
System.out.println(PEF2501.toString());
System.out.println("El alumno "+ beta.getNombre() +
(PEF2501.EstaInscrito(beta) ? "" : " no")
+ " esta inscrito");
System.out.println("El alumno "+ gamma.getNombre()
+ (PEF2501.EstaInscrito(gamma) ? "" : " no")
+ " está inscrito");
PEF2501.Remover(beta);
System.out.println("\n"+PEF2501.toString());
}
}

Puedes descargar el proyecto AQUI
Si te sirvió no olvides en comentar.
ConversionConversion EmoticonEmoticon