Javier Rohman

Generation

generate functionWed, 11 Jun 2025

Crear una clase Persona que tendrá como atributos: nombre y cédula. Esta clase será abstracta. Crear una clase Estudiante que tendrá como atributos: carrera y carné. Esta clase hereda de Persona. Crear una clase Académico que tendrá como atributo: salario y escuela. Esta clase hereda de Persona. Crear una clase Administrativo que tendrá como atributo: salario y escuela y teléfono. Esta clase hereda de Persona. Crear una clase Contenedores que tendrá como atributos: estudiantes académicos y administrativos y que permitan crear y almacenar respectivamente los estudiantes y académicos y administrativos - ListaEstudiante[5 Estudiantes], - ListaAcademico[5 Profesores], - listaAdministrativo[5 Administrativos],

A continuación, te proporciono el código en Java que cumple con las especificaciones que me has proporcionado: ```java // Clase abstracta Persona public abstract class Persona { protected String nombre; protected String cedula; public Persona(String nombre, String cedula) { this.nombre = nombre; this.cedula = cedula; } public String getNombre() { return nombre; } public String getCedula() { return cedula; } } // Clase Estudiante que hereda de Persona public class Estudiante extends Persona { private String carrera; private String carnet; public Estudiante(String nombre, String cedula, String carrera, String carnet) { super(nombre, cedula); this.carrera = carrera; this.carnet = carnet; } public String getCarrera() { return carrera; } public String getCarnet() { return carnet; } } // Clase Académico que hereda de Persona public class Academico extends Persona { private double salario; private String escuela; public Academico(String nombre, String cedula, double salario, String escuela) { super(nombre, cedula); this.salario = salario; this.escuela = escuela; } public double getSalario() { return salario; } public String getEscuela() { return escuela; } } // Clase Administrativo que hereda de Persona public class Administrativo extends Persona { private double salario; private String escuela; private String telefono; public Administrativo(String nombre, String cedula, double salario, String escuela, String telefono) { super(nombre, cedula); this.salario = salario; this.escuela = escuela; this.telefono = telefono; } public double getSalario() { return salario; } public String getEscuela() { return escuela; } public String getTelefono() { return telefono; } } // Clase Contenedores public class Contenedores { private Estudiante[] listaEstudiante; private Academico[] listaAcademico; private Administrativo[] listaAdministrativo; public Contenedores() { this.listaEstudiante = new Estudiante[5]; this.listaAcademico = new Academico[5]; this.listaAdministrativo = new Administrativo[5]; } public void agregarEstudiante(Estudiante estudiante, int posicion) { if (posicion >= 0 && posicion < listaEstudiante.length) { listaEstudiante[posicion] = estudiante; } else { System.out.println("Posición fuera de rango"); } } public void agregarAcademico(Academico academico, int posicion) { if (posicion >= 0 && posicion < listaAcademico.length) { listaAcademico[posicion] = academico; } else { System.out.println("Posición fuera de rango"); } } public void agregarAdministrativo(Administrativo administrativo, int posicion) { if (posicion >= 0 && posicion < listaAdministrativo.length) { listaAdministrativo[posicion] = administrativo; } else { System.out.println("Posición fuera de rango"); } } public void mostrarEstudiantes() { for (int i = 0; i < listaEstudiante.length; i++) { if (listaEstudiante[i] != null) { System.out.println("Estudiante " + (i + 1)); System.out.println("Nombre: " + listaEstudiante[i].getNombre()); System.out.println("Cédula: " + listaEstudiante[i].getCedula()); System.out.println("Carrera: " + listaEstudiante[i].getCarrera()); System.out.println("Carnet: " + listaEstudiante[i].getCarnet()); System.out.println(); } } } public void mostrarAcademicos() { for (int i = 0; i < listaAcademico.length; i++) { if (listaAcademico[i] != null) { System.out.println("Académico " + (i + 1)); System.out.println("Nombre: " + listaAcademico[i].getNombre()); System.out.println("Cédula: " + listaAcademico[i].getCedula()); System.out.println("Salario: " + listaAcademico[i].getSalario()); System.out.println("Escuela: " + listaAcademico[i].getEscuela()); System.out.println(); } } } public void mostrarAdministrativos() { for (int i = 0; i < listaAdministrativo.length; i++) { if (listaAdministrativo[i] != null) { System.out.println("Administrativo " + (i + 1)); System.out.println("Nombre: " + listaAdministrativo[i].getNombre()); System.out.println("Cédula: " + listaAdministrativo[i].getCedula()); System.out.println("Salario: " + listaAdministrativo[i].getSalario()); System.out.println("Escuela: " + listaAdministrativo[i].getEscuela()); System.out.println("Teléfono: " + listaAdministrativo[i].getTelefono()); System.out.println(); } } } } public class Main { public static void main(String[] args) { Contenedores contenedores = new Contenedores(); Estudiante estudiante1 = new Estudiante("Juan Pérez", "123456789", "Ingeniería en Sistemas", "12345"); Estudiante estudiante2 = new Estudiante("María Gómez", "987654321", "Ingeniería en Electrónica", "67890"); contenedores.agregarEstudiante(estudiante1, 0); contenedores.agregarEstudiante(estudiante2, 1); Academico academico1 = new Academico("Pedro López", "111111111", 50000.0, "Universidad de la República"); Academico academico2 = new Academico("Ana Rodríguez", "222222222", 60000.0, "Universidad de la República"); contenedores.agregarAcademico(academico1, 0); contenedores.agregarAcademico(academico2, 1); Administrativo administrativo1 = new Administrativo("Carlos Díaz", "333333333", 40000.0, "Universidad de la República", "123456789"); Administrativo administrativo2 = new Administrativo("Lucía Martínez", "444444444", 45000.0, "Universidad de la República", "987654321"); contenedores.agregarAdministrativo(administrativo1, 0); contenedores.agregarAdministrativo(administrativo2, 1); contenedores.mostrarEstudiantes(); contenedores.mostrarAcademicos(); contenedores.mostrarAdministrativos(); } } ``` Este código define las clases `Persona`, `Estudiante`, `Academico` y `Administrativo` con sus respectivos atributos y métodos. La clase `Contenedores` permite almacenar y mostrar estudiantes, académicos y administrativos. En el método `main` se crean objetos de cada tipo y se agregan a la clase `Contenedores` para mostrarlos posteriormente.

Want to kickstart your project?Use the new AI Studio to create your code