Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/05/2012, 09:39
Avatar de huspy
huspy
 
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: implementar un metodo

Esa comprobación deberías hacerla con un Date y no con cada dato por separado... Ya que puede que el año sea menor al año de los argumentos, pero el mes si después compruebas el mes y este es mayor al mes de la nota aunque en realidad sea menor ya que pertenece a un año menor... lo explico más graficamente....

Si tienes la siguientes notas:

NOTA1 -> 12/2/1983
NOTA2 -> 11/12/1994
NOTA3 -> 12/08/2012

Y en la llamada al método la haces así

Código Java:
Ver original
  1. imprimirNotasAnteriores(14, 5, 2012);

SOLO se te imprimirá la primera fecha (12/2/1983), ya que el año es menos, pero el mes ES MAYORRRR!!

Por lo tanto yo te recomiendo que esto lo hagas con Date o hagas otra comprobación más fea del estilo....

Código Java:
Ver original
  1. if ((notas[i].anyo < anyo) || (notas[i].anyo == anyo && notas[i].mes < mes) || (notas[i].anyo == anyo && notas[i].mes == mes && notas[i].dia < dia)) {
  2.     System.out.println("NOTA del día: " + notas[i]);
  3. }

Espero te sirva!

Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)