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

Desquiciado con un problema :S

Estas en el tema de Desquiciado con un problema :S en el foro de Java en Foros del Web. Hola! Tengo el siguiente método, que dado un Array de Strings con nombre de películas te devuelve un ArrayList con tantos objetos película como tenga ...
  #1 (permalink)  
Antiguo 03/03/2014, 08:27
Avatar de Kev_fva  
Fecha de Ingreso: marzo-2014
Mensajes: 9
Antigüedad: 10 años, 1 mes
Puntos: 0
Desquiciado con un problema :S

Hola!

Tengo el siguiente método, que dado un Array de Strings con nombre de películas te devuelve un ArrayList con tantos objetos película como tenga el array.

Cita:
public static ArrayList<Pelicula> createPelicula(String[] nom)throws Exception{

ArrayList<Pelicula>movieList = new ArrayList<Pelicula>();

Pelicula p;
for (int i = 0; i < nom.length; i++){
p = new Pelicula(nom[i],getGenere(nom[i]),getDuracion(nom[i]),getDirector(nom[i]));
movieList.add(p);
}


return movieList;

}


####### MAIN #######

Cita:
String[]pelis = {"Death+Proof","Salvar+al+soldado+Ryan","Little+Ni cky","Argo"};
ArrayList<Pelicula> lista = createPelicula(pelis);

Iterator<Pelicula> it = lista.iterator();
while(it.hasNext())
System.out.println(it.next().toString());
Pues bien, no se porque solo me reconoce la primera película del Array a la hora de crear los objetos.

Esta es su ejecución:

Cita:
Pelicula [nom=Death+Proof, genere=terror, duracio=95, director=Quentin+Tarantino]
Pelicula [nom=Salvar+al+soldado+Ryan, genere=terror, duracio=95, director=Quentin+Tarantino]
Pelicula [nom=Little+Nicky, genere=terror, duracio=95, director=Quentin+Tarantino]
Pelicula [nom=Argo, genere=terror, duracio=95, director=Quentin+Tarantino]

Muchas gracias :D
  #2 (permalink)  
Antiguo 03/03/2014, 10:03
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Desquiciado con un problema :S

Pues posiblemente el problema esté en estos métodos que te devuelven siempre lo de la primera película.

getGenere(nom[i]),getDuracion(nom[i]),getDirector(nom[i])

pero claro, esos no los has puesto.....

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 03/03/2014, 10:07
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Desquiciado con un problema :S

Cita:
Iniciado por chuidiang Ver Mensaje
Pues posiblemente el problema esté en estos métodos que te devuelven siempre lo de la primera película.

getGenere(nom[i]),getDuracion(nom[i]),getDirector(nom[i])

pero claro, esos no los has puesto.....

Se bueno.
Pues sí, porque de hecho, los nombres de las películas son los 4 diferentes. Tiene más pinta de que algo falla en las funciones de duración y director.
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 03/03/2014, 10:15
Avatar de Kev_fva  
Fecha de Ingreso: marzo-2014
Mensajes: 9
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Desquiciado con un problema :S

Pues si, teníais razón. El fallo estaba en esos métodos...

Tenia esto:

Código:
Pattern dir = Pattern.compile(patron); 
Matcher encaja = dir.matcher(res);
if(encaja.find()) director = encaja.group(1);
return director;
y lo he solucionado cambiando el if por:

Código:
while(encaja.find()) director = encaja.group(1);
Lo que no se por que antes no funcionaba, ya que al llamar cada vez a los metodos lo haces con un nombre de película y debería sobrescribir las variables

Etiquetas: string
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 03:56.