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 originalimprimirNotasAnteriores(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 originalif ((notas[i].anyo < anyo) || (notas[i].anyo == anyo && notas[i].mes < mes) || (notas[i].anyo == anyo && notas[i].mes == mes && notas[i].dia < dia)) {
System.
out.
println("NOTA del día: " + notas
[i
]); }
Espero te sirva!
Saludos!