SoloCodigo

Programación General => Java => Mensaje iniciado por: emmgfx en Domingo 11 de Marzo de 2012, 14:03

Título: Recorrer objetos de una clase
Publicado por: emmgfx en Domingo 11 de Marzo de 2012, 14:03
Hola,

Estoy aprendiendo Java y no me entero mucho, es la primera vez que uso un lenguaje con objetos y no se si lo que quiero se puede hacer o lo estoy pensando mal.

Si tengo 3 objetos de una clase (clase Profesor, objetos profe1, profe2 y profe3) como puedo recorrerlos para tratarlos todos uno por uno.

Código: [Seleccionar]
Profesor profe1 = new Profesor("NProfesor1","AProfesor1",21,arrayAlumnos);
Profesor profe2 = new Profesor("NProfesor2","AProfesor2",22,arrayAlumnos);
Profesor profe3 = new Profesor("NProfesor3","AProfesor3",23,arrayAlumnos);

Pongo las clases por si ayudan a entender.

Código: [Seleccionar]
public class Persona {
String nombre;
String apellido;
int edad;

public Persona(String nombre, String apellido, int edad){
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
}

public String getNombre(){
return this.nombre;
}
public String getApellido(){
return this.apellido;
}
public int getEdad(){
return this.edad;
}
}
Código: [Seleccionar]
class Profesor extends Persona{
Alumno[] alumnos;
static int length = 0;

public Profesor(String nombre, String apellido, int edad, Alumno[] alumnos){
super(nombre,apellido,edad);
this.alumnos = alumnos;
length++;
}
public Alumno[] getAlumnos(){
return this.alumnos;
}
public String getNombre(){
return this.nombre;
}
}

Gracias : )
Título: Re:Recorrer objetos de una clase
Publicado por: caperutxa en Lunes 12 de Marzo de 2012, 07:42
No entiendo demasiado bien a que te refieres con recorrerlos, pero si lo que quieres es que te muestre los valores de cada objeto puedes crear un método que te haga precisamente eso. Luego llamas al método para cada uno de los objetos.

No se si era eso a lo que te referías.
Título: Re:Recorrer objetos de una clase
Publicado por: arielb en Lunes 12 de Marzo de 2012, 15:54
Hola, bienvenido al foro.
La opción que te da caperutxa la puedes usar, es una de las más básicas ya más adelante buscaras otra opción.

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. profe1.getNombre()

Saludos,
Título: Re:Recorrer objetos de una clase
Publicado por: emmgfx en Lunes 12 de Marzo de 2012, 22:03
Hola,

Acabo de ver que habíais respondido, creo que lo de avisar por mail cuando hay respuestas no funciona :S

He utilizado ArrayList, la verdad es que no he acabado de entender la solución que me dabais, quizá no me había explicado bien.

A ver si con esto se entiende mejor : )

Salud y gracias!

Código: [Seleccionar]
package persona;

import java.util.ArrayList;
import java.util.Iterator;

public class main{
public static void main(String[] args) {

Alumno[] arrayAlumnos = new Alumno[5];
ArrayList<Profesor> profesores = new ArrayList<Profesor>();


arrayAlumnos[0] = new Alumno("Nombre1","Apellido1",21,"Primero",1);
arrayAlumnos[1] = new Alumno("Nombre2","Apellido2",22,"Segundo",2);
arrayAlumnos[2] = new Alumno("Nombre3","Apellido3",23,"Tercero",3);
arrayAlumnos[3] = new Alumno("Nombre4","Apellido4",24,"Cuarto");
arrayAlumnos[4] = new Alumno("Nombre5","Apellido5",25,"Quinto",5);

Profesor profe1 = new Profesor("NProfesor1","AProfesor1",21,arrayAlumnos);
Profesor profe2 = new Profesor("NProfesor2","AProfesor2",22,arrayAlumnos);
Profesor profe3 = new Profesor("NProfesor3","AProfesor3",23,arrayAlumnos);

profesores.add(profe1);
profesores.add(profe2);
profesores.add(profe3);

Iterator<Profesor> i = profesores.iterator();

System.out.println(i.toString());

Profesor este;

while(i.hasNext()){
este = (Profesor) i.next();
System.out.println("El profesor "+este.getNombre()+" tiene los alumnos: ");
for (Alumno alumno : este.getAlumnos()) {
System.out.println("# "+alumno.getNombre()+" ("+alumno.getCurso()+")");
}
}


}
}
Título: Re:Recorrer objetos de una clase
Publicado por: arielb en Martes 13 de Marzo de 2012, 18:06
creo que lo de avisar por mail cuando hay respuestas no funciona :S

Cuando creas un tema debes seleccionar la opción que dice "Notificarme al haber nuevas respuestas", para que te lleguen los correos.

Saludos,
Título: Re:Recorrer objetos de una clase
Publicado por: iron man en Miércoles 14 de Marzo de 2012, 06:45
Además de lo que comenta arielb, en el apartado Notificaciones y email de tu Perfil puedes marcar la casilla Activar la notificación cuando publiques o respondas a un tema.

Un saludo