Hola amigo, antes de nada en java por convenio de estilo (o un nombre así, corregidme si esta mal dicho) los nombres de las variables van en minúsculas y sin acentos, y las mayúsculas solo se usan para las clases y para separar palabras.
En el método de crear, no es que este mal pero yo lo haría creando una persona/estudiante con un constructor con parámetros en vez de crearlo vació e ir seteando.
En el método de mostrar te tirara error seguro, tienes que usar el toString().
Bueno aquí te dejo el programa a ver si es lo que buscabas.
Código Java:
Ver originalpackage Obligatorio;
import java.util.ArrayList;
import java.util.Scanner;
public class Persona
{
protected Scanner teclado
= new Scanner
(System.
in); protected int telefono;
protected int op;
protected boolean op1;
public Persona(){
}
{
this.cedula = cedula;
this.nombre = nombre;
this.apellido = apellido;
this.telefono = telefono;
}
public void registrarPersona()
{
System.
out.
println("Ingrese la Cédula: "); String cedula
= teclado.
next(); System.
out.
println("Ingrese el Nombre: "); String nombre
= teclado.
next(); System.
out.
println("Ingrese el Apellido: "); String apellido
= teclado.
next(); System.
out.
println("Ingrese el Teléfono: "); int telefono = teclado.nextInt();
personas.add(new Persona(cedula, nombre, apellido, telefono));
}
public void registrarOtro()
{
op1 = true;
do
{
System.
out.
println("Desea Registrar Otro?"); System.
out.
println("1 - Si, 2 - No"); op = teclado.nextInt();
if(op != 1 && op != 2)
{
System.
out.
println("Error, debe indicar una de las opciones..."); op1 = false;
}
}
while(op1 == false);
}
public void mostrarPersonas()
{
for (Persona p: personas)
{
System.
out.
println(p.
toString()); }
}
@Override
{
return "C.I.: " + cedula + "\n" + "Nombre: " + nombre + "\n" + "Apellido: " + apellido + "\n" + "Teléfono: " + telefono + "\n" + "============================================================" + "\n";
}
public void setCedula
(String cedula
) {
this.cedula = cedula;
}
public void setNombre
(String nombre
) {
this.nombre = nombre;
}
public void setApellido
(String apellido
) {
this.apellido = apellido;
}
public void setTelefono(int telefono)
{
this.telefono = telefono;
}
{
return cedula;
}
{
return nombre;
}
{
return apellido;
}
public int getTelefono()
{
return telefono;
}
}
Código Java:
Ver originalpackage Obligatorio;
import java.util.ArrayList;
public class Estudiante extends Persona
{
public Estudiante(){
}
{
this.cedula = cedula;
this.nombre = nombre;
this.apellido = apellido;
this.telefono = telefono;
this.grupo = grupo;
}
public void registrarEstudiante()
{
do
{
System.
out.
println("====================Registrar Estudiante===================="); System.
out.
println("Ingrese la Cédula: "); String cedula
= teclado.
next(); System.
out.
println("Ingrese el Nombre: "); String nombre
= teclado.
next(); System.
out.
println("Ingrese el Apellido: "); String apellido
= teclado.
next(); System.
out.
println("Ingrese el Teléfono: "); int telefono = teclado.nextInt();
System.
out.
println("Ingrese el Grupo: "); String grupo
= teclado.
next(); estudiantes.add(new Estudiante(cedula, nombre, apellido, telefono, grupo));
registrarOtro();
}
while(op == 1);
System.
out.
println("Eligió Salir"); }
public void mostrarEstudiantes()
{
for (Persona e: estudiantes)
{
System.
out.
println(e.
toString()); }
}
@Override
{
return "C.I.: " + cedula + "\n" + "Nombre: " + nombre + "\n" + "Apellido: " + apellido + "\n" + "Teléfono: " + telefono + "\n" + "Grupo: " + grupo + "\n" + "============================================================" + "\n";
}
public void setGrupo
(String grupo
) {
this.grupo = grupo;
}
{
return grupo;
}
}
Código Java:
Ver originalpackage Obligatorio;
import java.util.Scanner;
public class Main
{
public static void main
(String[]args
) {
Scanner tec
= new Scanner
(System.
in); Estudiante e = new Estudiante();
int menu = 0;
do
{
System.
out.
println("Pulsa 1 para registrar un profesor"); System.
out.
println("Pulsa 2 para registrar un estudiante"); System.
out.
println("Pulsa 3 para ver la lista de los profesores"); System.
out.
println("Pulsa 4 para ver la lista de los alumnos"); System.
out.
println("Pulsa 0 para salir"); menu = tec.nextInt();
switch(menu)
{
case 1:
e.registrarPersona();
break;
case 2:
e.registrarEstudiante();
break;
case 3:
e.mostrarPersonas();
break;
case 4:
e.mostrarEstudiantes();
break;
case 0:
break;
default:
System.
out.
println("Opcion no válida"); }
}
while(menu != 0);
}
}
A mi con esto me tira bien el crear personas y estudiantes cada uno en un arraylist diferente y mostrarlos todos. Incluso si solo quisieras mostrar nose, por ejemplo el apellido solo tendrias que crear un metodo que fuera:
Código Java:
Ver originalpublic void mostrarEstudiantesApellido()
{
for (Persona e: estudiantes)
{
System.
out.
println(e.
getApellido()); }
}
si quieres otra cosa solo seria ir creando este método cambiando el e.getApellido() por lo que quieras mostrar.
Espero haberte ayudado.
Edit: Editado para dar colorines al codigo.