Foros del Web » Programación para mayores de 30 ;) » Java »

problema con ciclo

Estas en el tema de problema con ciclo en el foro de Java en Foros del Web. Hola. Soy nuevo aca, me estoy iniciando en java. Tengo un problema con esta funcion: Código: public Pelicula[] GeneraArregloPelicula(){ ObtenedorDeListados pelicula = new ObtenedorDeListados(); String ...
  #1 (permalink)  
Antiguo 14/05/2006, 11:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
problema con ciclo

Hola.
Soy nuevo aca, me estoy iniciando en java. Tengo un problema con esta funcion:

Código:
        public Pelicula[] GeneraArregloPelicula(){
            ObtenedorDeListados pelicula = new ObtenedorDeListados();
            String archivo = "peliculas.txt";
            int contador = pelicula.CuentaFilas(archivo);
            Pelicula arreglo[] = new Pelicula[contador];
            int i;
            
            for (i = 0; i<contador ; i++){
                arreglo[i] = pelicula.GeneraPelicula(i);
            }
            return arreglo;
        }
Como pueden ver es bastate simple... lo que deberia hacer es que a cada elemento del arreglo del tipo Pelicula se le asigna un valor que esta dado por la funcion GeneraPelicula();
He probado la funcion muchas veces y el arreglo que retorna lo llena con el ultimo elemento del arreglo. Es como si tomara el ultimo elemento y lo copiara en todo el arreglo...
Lo más raro es que cuando me di la tarea de revisar el for, este funciona correctamente, copia a cada elemento del arreglo elementos distintos. Pero cuando sale del for eso se pierde y lo llena con el ultimo elemento.

Por favor ayuda!
  #2 (permalink)  
Antiguo 14/05/2006, 13:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:

Revisa el método pelicula.GeneraPelicula(i). Si devuelve siempre la misma instancia de Pelicula, ahí tienes el problema. En todas las posiciones del array se está metiendo la misma Pelicula.

Dicho método debería hacer un new Pelicula() nuevo y devolverlo cada vez que le llaman.

Se bueno
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:46.