[ Foro de Java ]
Me piden hacer este ejercicio:
Cree una clase llamada Estudiante, en ella debe asignar desde su constructor los datos personales del alumno. Crear un método en esta clase para ingresar 5 materias que cursa el estudiante y otro método para toda la información (datos personales y materias). Usar una clase separada donde debe instanciar y mostrar los datos (Objetivo: dominar clases e instanciar objetos).
No se como hacerlo, soy nuevo en JAVA
// PRINCIPIO clase genero
public class Genero
{
private boolean tipo;
public Genero()
{
tipo = true;
}
public Genero (boolean genero)
{
tipo = genero;
}
public void cargar(boolean genero)
{
tipo = genero;
}
public String obtener(){
if (tipo)
{
return "Masculino";
}
return "Femenino";
}
}
// FIN clase Genero
// PRINCIPIO clase Estudiante
public class Estudiante
{
private int legajo;
private String nombre;
private String apellido;
private Genero genero;
private String[] materias;
public Estudiante(int legajo, String nombre, String apellido, boolean genero){
this.legajo = legajo;
this.nombre = nombre;
this.apellido = apellido;
this.genero = new Genero(genero);
materias = new String[5];
}
// metodo para mostrar los datos
public String datosEstudiante()
{
return "=============================\n"+
"DATOS\n"+
"=============================\n"+
"Legajo: "+legajo+"\n"+
"Nombre: "+nombre+"\n"+
"Apellido: "+apellido+"\n"+
"Genero: "+genero.Obtener()+"\n"+
"=============================\n"+
"MATERIAS\n"+
"=============================\n"+
materias [0]+"\n"+
materias [1]+"\n"+
materias [2]+"\n"+
materias [3]+"\n"+
materias [4]+"\n"+
}
// metodo para cargar las materias
public void cargarMaterias()
{
Scanner teclado = new Scanner(System.in); /* Asumo que recien recien empezas y estas cargando los datos por consola. Si estas con Swing, esta parte hacela vos porque hay que hacer varias cosas y no tengo ganas ahora... ademas el codigo lo estoy escribiendo en el chat, por lo que espero no tenga error de sintaxis.
*/
for (int i=0; i<materias .length; i++)
{
materias[i] = teclado.next(); // hace bocha no uso Scanner, sino anda next() proba con nextLine()
}
}
}
//FIN clase Estudiante
// PRINCIPIO clase "contenedora" de Estudiantes
public class Estudiante_en_curso
{
private Estudiante estudiante;
private Scanner teclado;
public Estudiante_en_curso()
{
teclado = new Scanner(System.in);
cargarEstudiante();
mostrarDatosEstudiante();
}
public void cargarEstudiante()
{
system.out.println("Ingrese el legajo del estudiante:");
int legajo = teclado.nextInt();
system.out.println("Ingrese el nombre del estudiante:");
String nombre= teclado.next();
system.out.println("Ingrese el apellido del estudiante:");
String apellido= teclado.next();
system.out.println("Ingrese el genero del estudiante: (0 para Masculino | 1 para Femenino)");
int sexo= teclado.nextInt();
boolean genero;
if (sexo == 0)
{
genero = true;
}
else if (sexo == 1)
{
genero = false;
}
estudiante = new Estudiante(legajo, nombre, apellido, genero);
estudiante.cargarMaterias();
}
public void mostrarDatosEstudiante(){
system.out.println("¿desea mostrar los datos del esudiante? (1-SI | 2-NO)");
int eleccion = teclado.nextInt();
if(eleccion == 1)
{
System.out.println(estudiante.datosEstudiante());
}
else if (eleccion == 2)
System.exit(0);
}
}
// FIN clase "contenedora" de Estudiantes
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)