[ Foro de Java ]
Hola, tengo un proyecto sobre una cooperativa de préstamos, en esta, en uno de los puntos nos piden que los préstamos solo se pueden autorizar los 20 primeros días del mes, el siguiente código corre bien, si ingreso la primera vez una fecha tipo 2020-10-12, termina de imprimir todo correctamente, pero si se hace una prueba pasada de los 20 días, es decir 2020-10-28 imprime el mensaje que debe estar dentro de los 20 días, nuevamente se ingresa una fecha que si está dentro de esos 20 primeros días, pero continua apareciendo el mismo mensaje, me gustaria saber como arreglar eso. Gracias
//Los préstamos solo se pueden autorizar en los primeros 20 días del mes. Esta es una política que nunca va a cambiar.
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Ingrese fecha autorizacion con formato 'yyyy-mm-dd' ");
Date fecha_autorizado = df.parse(br.readLine());
Calendar calendar = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
calendar.setTime(fecha_autorizado);
calendar2.setTime(fecha_autorizado);
calendar.set(Calendar.DAY_OF_MONTH, 20);
System.out.println("seteo calendar"+calendar.getTime());
while (calendar2.after(calendar) || calendar2.before(20)){
System.out.println("Ingrese fecha de autorizacion dentro de los primeros 20 días del mes");
fecha_autorizado = df.parse(br.readLine());
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)