Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2012, 05:04
sergio_yo
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Va de HashMap como obtener un dato??

Bueno chicos necesito una mano. Les pongo en situacion:

Tengo objetos examen, los cuales tienen como atributo un ArrayList de objetos pregunta, y a su vez estos objetos pregunta tienen como atributo un ArrayList de string.

Estos objetos examen los almaceno en un HashMap con una key que yo le asigno.
El tema de la cuestion es como recuperar tooooda la informacion de esos objetos examen y de sus sucesivas ArrayList. Lo que tengo es esto:
Código:
case 6: //Buscar examen
				
				System.out.println("Ha seleccionado Buscar Examen.");
				System.out.println("Introduzca el id del examen: ");
				int id_busca = Integer.parseInt(stdin.readLine());
				System.out.println(p.examenes.get(id_busca).toString());
				System.out.println(" ¿Desea eliminarlo? s/n");
				String decision_ex = stdin.readLine();
				if(decision_ex.equals("s")){
					p.examenes.remove(id_busca);
					System.out.println("Examen eliminado");
					
				}
				break;
Hasta aqui bien, se que la clave esta en el metodo .toString(), a continuacion os pongo el metodo toString() de la clase examen:
Código:
public String toString(){
		String pregunta=null;
		String lines = null;
		lines="La convocatoria es: "+getConvocatoria()+"   Materia: "+getMateria()+"      Id del examen: "+getIdExamen()+"\n\n\r";
		for (Pregunta p : preguntas) {
			pregunta= "\n\r" + p.getTextoPrg()+"\n\r"+p.getRespuesta()+"\n\r";
					
		}
		return lines+" "+pregunta;

		
	}
ahora bien, los atributos normales de examen me los devuelve bien, pero , en el for solo me devuelve la ultima pregunta añadida. ¿alguna idea? si necesitais mas codigo decidlo y se pone.