GreysitoErPutoAmo

Java - Objetos: Fecha

Feb 22nd, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.11 KB | None | 0 0
  1. package fecha;
  2.  
  3. import java.util.Scanner;
  4. import java.util.GregorianCalendar;
  5.  
  6. public class Fecha {
  7.  
  8. //atributos
  9.     private int dia;
  10.     private int mes;
  11.     private int ano;
  12.    
  13.     Scanner entrada=new Scanner(System.in);
  14.    
  15. //constructores
  16.     public Fecha(){
  17.        
  18.         this(1,1,1900);
  19.     }
  20.    
  21.     public Fecha(int dia, int mes, int ano){
  22.                
  23.         this.dia = dia;
  24.         this.mes = mes;
  25.         this.ano = ano;
  26.        
  27.         valida(dia, mes, ano, entrada);
  28.     }
  29.    
  30. //metodos
  31.     public static void leer(){
  32.          Scanner entrada = new Scanner(System.in);
  33.         System.out.println("Introduzca el dia: (1 al 31) ");
  34.         int dia = entrada.nextInt();
  35.         System.out.println("Introduzca el mes: (1 al 12) ");
  36.         int mes = entrada.nextInt();
  37.         System.out.println("Introduzca el año: (1900 al 2050) ");
  38.         int ano = entrada.nextInt();
  39.        
  40.         valida(dia, mes, ano, entrada);
  41.     }
  42.  
  43.     public static void valida(int dia, int mes, int ano, Scanner entrada){
  44.          boolean comprobar= false;
  45.          while (comprobar==false) {
  46.                  if  ((dia<=0 || dia>=31)) {
  47.                          System.out.println("error dia");
  48.                          System.out.println("Introduzca el dia: (1 al 31) ");
  49.                          dia = entrada.nextInt();
  50.                  }
  51.                  
  52.                  else if  (mes<=0 || mes>=12){
  53.                         System.out.println("error mes");
  54.                          System.out.println("Introduzca el mes: (1 al 12) ");
  55.                      mes = entrada.nextInt();
  56.                 }
  57.                
  58.                  else if (ano<=1900 || ano>2051){
  59.                         System.out.println("error año");
  60.                           System.out.println("Introduzca el ano: (1900 al 2050) ");
  61.                       ano = entrada.nextInt();
  62.                 }
  63.                  
  64.                  else {
  65.                          comprobar=true;
  66.                          System.out.println("la fecha es correcta");
  67.                  }
  68.          }
  69.  }
  70.    
  71.     public void bisiesto(){
  72.         GregorianCalendar calendar = new GregorianCalendar();
  73.  
  74.     if (calendar.isLeapYear(ano))
  75.         System.out.println("El año es bisiesto");
  76.     else
  77.         System.out.println("El año no es bisiesto");
  78.     }
  79.    
  80.     public int diasMes(int mes, int año){
  81.         switch(mes){
  82.             case 1:  // Enero
  83.             case 3:  // Marzo
  84.             case 5:  // Mayo
  85.             case 7:  // Julio
  86.             case 8:  // Agosto
  87.             case 10:  // Octubre
  88.             case 12: // Diciembre
  89.                 return 31;
  90.             case 4:  // Abril
  91.             case 6:  // Junio
  92.             case 9:  // Septiembre
  93.             case 11: // Noviembre
  94.                 return 30;
  95.             case 2:  // Febrero
  96.                 if ( ((ano%100 == 0) && (ano%400 == 0)) ||
  97.                         ((ano%100 != 0) && (ano%  4 == 0))   )
  98.                     return 29;  // Año Bisiesto
  99.                 else
  100.                     return 28;
  101.             default:
  102.                 throw new java.lang.IllegalArgumentException(
  103.                 "El mes debe estar entre 1 y 12");
  104.         }
  105. }
  106.    
  107.    
  108. }
Add Comment
Please, Sign In to add comment