import java.util.ArrayList;
import java.util.Scanner;
public class SimGestion{
private ArrayList<Sujeto> baseDatos = new ArrayList();
private Scanner teclado = new Scanner(System.in);
public void registrarAlumno() {
System.out.println("\n\tNuevo Alumno");
System.out.print("ID: ");
String id = teclado.nextLine();
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Apellido: ");
String apell = teclado.nextLine();
System.out.print("Correo-E: ");
String correo = teclado.nextLine();
System.out.print("Calificacion: ");
double cal = Double.parseDouble(teclado.nextLine());
baseDatos.add(new Alumno(id, nombre, apell, correo, cal));
}
public void modificarAlumno() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tModificar Alumno");
System.out.print("Indique el ID: ");
String id = teclado.nextLine();
//Buscamos Alumno
Alumno buscar = null;
for (Sujeto per: baseDatos)
if (per.getId().equals(id)) {
buscar = (Alumno) per;
break;
}
if (buscar == null)
System.out.println("No hay ningun Alumno con el ID: " + id);
else {
System.out.print("Nuevo Nombre: ");
buscar.setNombre(teclado.nextLine());
System.out.print("Nuevo Apellido: ");
buscar.setApellido(teclado.nextLine());
System.out.print("Nuevo Correo-Electronico: ");
buscar.setCorreoElectronico(teclado.nextLine());
System.out.print("Nueva calificacion: ");
buscar.guardarCalificacion(Double.parseDouble(teclado.nextLine()));
System.out.println("\n\t--Alumno modificado--\n");
}
}
}
public void borrarAlumno() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tEliminar Alumno");
System.out.print("Indique el ID: ");
String id = teclado.nextLine();
int posicion = -1;
for (int i = 0; i < baseDatos.size(); i++)
if (baseDatos.get(i).getId().equals(id)) {
posicion = i;
break;
}
if (posicion == -1)
System.out.println("No hay ningun Alumno con el ID: " + id);
else {
baseDatos.remove(posicion);
System.out.println("\n\t--Alumno Eliminado--");
}
}
}
public void listarAlumnos() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
boolean hayAlumnos = false;
System.out.println("\n\tListado Alumnos");
for (Sujeto per: baseDatos)
if (per instanceof Alumno) {
hayAlumnos = true;
Alumno alu = (Alumno)per;
alu.imprimirPerfil();
alu.mostrarCalificacion();
System.out.println("\t\t----------");
}
if (!hayAlumnos)
System.out.println("\nNo hay Alumnos registrados");
}
}
public void registrarMaestro() {
System.out.println("\n\tNuevo Maestro");
System.out.print("ID: ");
String id = teclado.nextLine();
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Apellido: ");
String apell = teclado.nextLine();
System.out.print("Correo-E: ");
String correo = teclado.nextLine();
System.out.print("Este Maestro sera un Tutor?(s/n): ");
char esTutor = teclado.nextLine().toLowerCase().charAt(0);
if (esTutor == 's')
baseDatos.add(new Tutor(id, nombre, apell, correo));
else
baseDatos.add(new Maestro(id, nombre, apell, correo));
}
public void modificarMaestro() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tModificar Maestro");
System.out.print("Indique el ID del Maestro: ");
String id = teclado.nextLine();
Maestro buscar = null;
for (Sujeto per: baseDatos)
if (per.getId().equals(id)) {
buscar = (Maestro) per;
break;
}
if (buscar == null)
System.out.println("No hay ningun Maestro con el ID ingresado: " + id);
else {
System.out.print("Modifica con un nuevo Nombre: ");
buscar.setNombre(teclado.nextLine());
System.out.print("Modifica con un Apellido: ");
buscar.setApellido(teclado.nextLine());
System.out.print("Modifica con un nuevo Correo-Electronico: ");
buscar.setCorreoElectronico(teclado.nextLine());
System.out.println("\n\t--El Maestro fue modificado con exito--\n");
}
}
}
public void borrarMaestro() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tEliminacion de Maesto");
System.out.print("Indique el ID del Maestro a Eliminar: ");
String id = teclado.nextLine();
int posicion = -1;
for (int i = 0; i < baseDatos.size(); i++)
if (baseDatos.get(i).getId().equals(id)) {
posicion = i; //Guardamos posicion
break;//Fin de búsqueda
}
if (posicion == -1)
System.out.println("No hay ningun Maestro registrado con el ID: " + id);
else {
baseDatos.remove(posicion);
System.out.println("\n\t--Maestro Eliminado con exito--");
}
}
}
public void listarMaestro() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
boolean hayMaestros = false;
System.out.println("\n\tLista de Maestros");
for (Sujeto per: baseDatos)
if (per instanceof Maestro) {
hayMaestros = true;
Maestro mae = (Maestro)per;
mae.imprimirPerfil();
System.out.println("\t\t----------");
}
if (!hayMaestros)
System.out.println("\nNo hay Maestros registrados");
}}
public void registrarTutor() {
System.out.println("\n\tCreacion de Tutor");
System.out.print("ID: ");
String id = teclado.nextLine();
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Apellido: ");
String apell = teclado.nextLine();
System.out.print("Correo-Electronico: ");
String correo = teclado.nextLine();
baseDatos.add(new Tutor(id, nombre, apell, correo));
}
public void modificarTutor() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tActualizar TUTOR");
System.out.print("Indique el ID del TUTOR: ");
String id = teclado.nextLine();
Tutor buscar = null;
for (Sujeto per: baseDatos)
if (per.getId().equals(id)) {
buscar = (Tutor) per;
break;
}
if (buscar == null)
System.out.println("No hay ningun TUTOR con el ID ingresado: " + id);
else {
System.out.print("Modifica con un nuevo Nombre: ");
buscar.setNombre(teclado.nextLine());
System.out.print("Modifica con un Apellido: ");
buscar.setApellido(teclado.nextLine());
System.out.print("Modifica con un nuevo Correo-Electronico: ");
buscar.setCorreoElectronico(teclado.nextLine());
System.out.println("\n\t--El TUTOR fue modificado con exito--\n");
}
}
}
public void borrarTutor() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
System.out.println("\n\tEliminacion de TUTOR");
System.out.print("Indique el ID del TUTOR a Eliminar: ");
String id = teclado.nextLine();
int posicion = -1;
for (int i = 0; i < baseDatos.size(); i++)
if (baseDatos.get(i).getId().equals(id)) {
posicion = i; //Guardamos posicion
break;//Fin de búsqueda
}
if (posicion == -1)
System.out.println("No hay ningun TUTOR registrado con el ID: " + id);
else {
baseDatos.remove(posicion);
System.out.println("\n\t--TUTOR Eliminado con exito--");
}
}
}
public void listarTutor() {
if (baseDatos.isEmpty())
System.out.println("Base de datos esta vacia");
else {
boolean hayTutores = false;
System.out.println("\n\tLista de TUTORES");
for (Sujeto per: baseDatos)
if (per instanceof Tutor) {
hayTutores = true;
Tutor tut = (Tutor)per;
tut.imprimirPerfil();
System.out.println("\t\t----------");
}
if (!hayTutores)
System.out.println("\nNo hay TUTORES registrados");
}
//METODO PARA AGREGAR ALUMNO
}
public void AsignarAlumno() {
System.out.println("\n\tAsignar alumno a tutor");
System.out.print("ID del alumno a asignar: ");
String id = teclado.nextLine();
}
}
/code]
y en mi menú tengo lo siguiente:
[code]ublic class mainReto5 {
private static SimGestion gestion = new SimGestion();
private static Scanner teclado = new Scanner(System.in);
public static void main(String[] args) {
int opcion;
do {
System.out.println("\n\n **MENU DE GESTION**");
System.out.println("---- -- -----------\n");
System.out.println("\tALUMNOS");
System.out.println("\t-------");
System.out.println("[1] -- Registrar nuevo Alumno");
System.out.println("[2] -- Modificar Alumno");
System.out.println("[3] -- Eliminar Alumno");
System.out.println("[4] -- Listar todos los Alumnos");
System.out.println("\tMAESTROS");
System.out.println("\t--------");
System.out.println("[5] -- Registrar nuevo Maestro");
System.out.println("[6] -- Modificar Maestro");
System.out.println("[7] -- Eliminar Maestro");
System.out.println("[8] -- Listar todos los Maestros");
System.out.println("\tTUTORES");
System.out.println("\t-------");
System.out.println("[9] -- Registrar nuevo Tutor");
System.out.println("[10] - Modificar Tutor");
System.out.println("[11] - Eliminar Tutor");
System.out.println("[12] -- Asignar Alumno a Tutor");
System.out.println("[13] - Listar tutores y calificaciones de Alumnos asignados");
System.out.println("\n[0] -- TERMINAR PROGRAMA");
System.out.print("Elija opcion: ");
opcion = Integer.parseInt(teclado.nextLine());
switch(opcion) {
case 0 -> System.out.println("\n\n\t\tFIN DE PROGRAMA");
case 1 -> gestion.registrarAlumno();
case 2 -> gestion.modificarAlumno();
case 3 -> gestion.borrarAlumno();
case 4 -> gestion.listarAlumnos();
case 5 -> gestion.registrarMaestro();
case 6 -> {gestion.modificarMaestro();}
case 7 -> {gestion.borrarMaestro();}
case 8 -> {gestion.listarMaestro();}
case 9 -> {gestion.registrarTutor();}
case 10 -> {gestion.modificarTutor();}
case 11 -> {gestion.borrarTutor();}
case 12 ->{} // LLAMAR A METODO PARA ASIGNAR UN ALUMNO
case 13 -> {gestion.listarTutor();}
default -> System.out.println("Opcion equivocada");
}
}while(opcion != 0);
}}