Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fecha;
- import java.util.Scanner;
- import java.util.GregorianCalendar;
- public class Fecha {
- //atributos
- private int dia;
- private int mes;
- private int ano;
- Scanner entrada=new Scanner(System.in);
- //constructores
- public Fecha(){
- this(1,1,1900);
- }
- public Fecha(int dia, int mes, int ano){
- this.dia = dia;
- this.mes = mes;
- this.ano = ano;
- valida(dia, mes, ano, entrada);
- }
- //metodos
- public static void leer(){
- Scanner entrada = new Scanner(System.in);
- System.out.println("Introduzca el dia: (1 al 31) ");
- int dia = entrada.nextInt();
- System.out.println("Introduzca el mes: (1 al 12) ");
- int mes = entrada.nextInt();
- System.out.println("Introduzca el año: (1900 al 2050) ");
- int ano = entrada.nextInt();
- valida(dia, mes, ano, entrada);
- }
- public static void valida(int dia, int mes, int ano, Scanner entrada){
- boolean comprobar= false;
- while (comprobar==false) {
- if ((dia<=0 || dia>=31)) {
- System.out.println("error dia");
- System.out.println("Introduzca el dia: (1 al 31) ");
- dia = entrada.nextInt();
- }
- else if (mes<=0 || mes>=12){
- System.out.println("error mes");
- System.out.println("Introduzca el mes: (1 al 12) ");
- mes = entrada.nextInt();
- }
- else if (ano<=1900 || ano>2051){
- System.out.println("error año");
- System.out.println("Introduzca el ano: (1900 al 2050) ");
- ano = entrada.nextInt();
- }
- else {
- comprobar=true;
- System.out.println("la fecha es correcta");
- }
- }
- }
- public void bisiesto(){
- GregorianCalendar calendar = new GregorianCalendar();
- if (calendar.isLeapYear(ano))
- System.out.println("El año es bisiesto");
- else
- System.out.println("El año no es bisiesto");
- }
- public int diasMes(int mes, int año){
- switch(mes){
- case 1: // Enero
- case 3: // Marzo
- case 5: // Mayo
- case 7: // Julio
- case 8: // Agosto
- case 10: // Octubre
- case 12: // Diciembre
- return 31;
- case 4: // Abril
- case 6: // Junio
- case 9: // Septiembre
- case 11: // Noviembre
- return 30;
- case 2: // Febrero
- if ( ((ano%100 == 0) && (ano%400 == 0)) ||
- ((ano%100 != 0) && (ano% 4 == 0)) )
- return 29; // Año Bisiesto
- else
- return 28;
- default:
- throw new java.lang.IllegalArgumentException(
- "El mes debe estar entre 1 y 12");
- }
- }
- }
Add Comment
Please, Sign In to add comment