Hay un problema muy simple de solucionar que es prácticamente uno de los primeros que se pide cuando estas estudiando programación, la gente normal, entre la que me incluyo, suele hacerlo paso a paso dando como resultado el "AnnoBisiestoBad" el cual es correcto al 100%, no nos engañemos, pero como se puede observar en "AnnoBisiestoGood" es que no es para nada optimo ya que con una sola linea podríamos haber resuelto el problema.
package LFR.Liem.Dazkun.Test.Java.Fecha.AnnoBisiesto;
import java.util.Calendar;
public class AnnoBisiesto{
public boolean AnnoBisiestoBad(Calendar fecha){
{
int anno = fecha.YEAR;
//Si el año es divisible por 4, puede ser bisiesto
if (anno % 4 == 0){
if ((anno % 100 == 0) && //Si es divisible por 100
(anno % 400 != 0)){ //y no por 400
return false; //entonces no es bisiesto
}else{
return true; //En caso contrario sí lo es.
}
}else {//Si el año no es divisible entre 4 no es bisiesto.
return false;
}
}
}
public boolean AnnoBisiestoGood(Calendar fecha){
return (fecha.YEAR % 4 == 0) && !(fecha.YEAR % 100 == 0 && fecha.YEAR % 400 != 0);
}
}
Esta es una parte del problema que intentare tener terminado a lo largo de la semana. La otra semana un compañero me planteo un problema que en un principio parece sencillo y es saber si estamos a lunes o a martes, algunos me dirán que eso ya lo hace de manera automática las librerías, pero que pasa si lo que quieres es extrapolarlo a otros entornos que no disponen de estas librerías, ¿alguno sabría hacerlo?, por eso me lo he planteado.
0 comentarios: (+add yours?)
Publicar un comentario