Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/04/2013, 19:22
ambigus
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: ¿Cuál es mi error en esta lógica de Java?

Gracias!!!

He hecho lo que me has pedido, y me gustaría saber dos cosas

1. ¿Me ha quedado bien?
2. ¿Dónde debo agregar las NotasEstudiante?, ¿En la Lista de Materias General ó en la Lista de materiasdelestudiante en particular?, Porque según mi código tengo guardada la materia en la lista de materiasdelestudiante y no en la lista General
3. Otro detalle que creo que es importante es que la idea es que cuando un docente va a ingresar notas, selecciona si quiere ingresar notas de Quices, o Parciales...etc, el detalle está en que le debe aparecer un mensaje de alerta si las notas de Quices, Parciales, etc ya han sido llenadas. Es por eso que recorro la lista de Quices, Parciales, etc a ver si ya está llena.

Código Javascript:
Ver original
  1. public void notas_docente() throws IOException{
  2.        
  3.      System.out.println("Ingrese el nombre del docente");
  4.      String buscador1 = lector.readLine();
  5.  
  6.  
  7.      for ( Docente docente : docentes )
  8.      {
  9.        
  10.        
  11.              if ( docente.getNombredocente().equals(buscador1) )
  12.          {
  13.              System.out.println("Ingrese el nombre de la materia");
  14.              String buscador2 = lector.readLine();
  15.              
  16.                      for ( int i=0; i<materias.size(); i++ )// Añadir materia a la lista de materias del estudiante - PRUEBA 1
  17.                      {
  18.                              if ( materias.get(i).getNombredocente().equalsIgnoreCase(buscador1) && materias.get(i).getNombremateria().equalsIgnoreCase(buscador2))
  19.                              {      
  20.                                      
  21.                                      System.out.println("El tamaño de la lista estudiantes de la materia es:" +materias.get(i).estudiantesdelamateria.size());
  22.                                      System.out.println("Los estudiantes son:");
  23.                                      for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
  24.                                      {
  25.                                              
  26.                                              System.out.println(materias.get(i).estudiantesdelamateria.get(j).getNombre());
  27.                                      }
  28.                                      
  29.                                      System.out.println("Seleccione el estudiante al que quiere ingresar notas");
  30.                                      String buscador3 = lector.readLine();
  31.                                      
  32.                                      for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
  33.                                      {       
  34.                                         if ( materias.get(i).estudiantesdelamateria.get(j).getNombre().equalsIgnoreCase(buscador3))
  35.                                            
  36.                                         {
  37.                                            
  38.                                             NotasEstudiante notasestudiante = new NotasEstudiante();
  39.                                             notasestudiante.crear_listas();
  40.                                             notasestudiante.setCodigoestudiante(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante());
  41.                                            
  42.  
  43.                                            
  44.                                                 int opcion4 =0;
  45.                                            
  46.                                                 do{
  47.                                                
  48.                                                 System.out.println("1. Notas de Quices");
  49.                                                 System.out.println("2. Notas de Trabajos");
  50.                                                 System.out.println("3. Notas de Parciales");
  51.                                                 System.out.println("4. Salir");
  52.                                      
  53.                                                 System.out.print("Digite la opcion: ");
  54.                                                 opcion4 = Integer.parseInt(lector.readLine());
  55.                                                 System.out.println();
  56.                                      
  57.                                                 switch(opcion4){
  58.                                                
  59.                                                 case 1: notasestudiante.notas_quices();break;
  60.                                                 case 2: notasestudiante.notas_trabajos();break;
  61.                                                 case 3: notasestudiante.notas_parciales();break;
  62.                                                 case 4: opcion4 = 4;break;
  63.                                                 default: break;
  64.                                                 }
  65.                                                 }while(opcion4!=4);
  66.                                                
  67.                                                 opcion4 =0;
  68.                                                
  69.                                                 System.out.println("Estoy dentro 1");
  70.                                                 for ( int k=0; k<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.size(); k++ )
  71.                                                 {
  72.                                                     if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).getNombremateria().equalsIgnoreCase(buscador2) )
  73.                                                  {
  74.                                                         notasestudiante.setCreditos(materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).getCreditos());
  75.                                                         materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.add(notasestudiante);     
  76.                                                  }
  77.                                                 }  
  78.                                             }  
  79.                                      }  
  80.                               }    
  81.                         }
  82.     }
  83.   }  
  84. }

En la linea 74 asigno los créditos de la materia y en la 75 guardo todo el objeto NotasEstudiante en la lista de notasdelamateriaporestudiante

Si te fijas, siempre ingreso es a la lista de materiasdelestudiante y no a la lista general. Nosé si eso afecte en algo.
Aquí el código completo:

Clase Matricula - Edicon 2: http://ideone.com/clF3AV
Clase NotasEstudiante - Edicion 2: http://ideone.com/hgxjhC

PD: GRACIAS POR LA PACIENCIA Y DEDICACIÓN

Última edición por ambigus; 06/04/2013 a las 19:27