// Escribe un programa que solicite tres valores enteros con el día, mes y año de //una fecha e indique si se trata de valores válidos para una fecha. (tener en cuenta //el número de días de cada mes)(el año será válido si es >=1970 y menor que 3000) import java.util.Scanner; void main() { Scanner sc = new Scanner(System.in); System.out.println("Introduce dia mes y año:"); int dia = sc.nextInt(); int mes = sc.nextInt(); int ano = sc.nextInt(); if (!(ano >= 1970 && ano < 3000)) { System.out.println("Fecha inválida"); sc.close(); return; } if (!(mes > 0 && mes <= 12)){ System.out.println("Fecha inválida"); sc.close(); return; } boolean bisiesto = (ano % 4 == 0 && ano % 100 != 0) || (ano % 400 == 0); final int diasMes[] = { 31, // Enero (bisiesto) ? 29 : 28, // Febrero 31, // Marzo 30, // Abril 31, // Mayo 30, // Junio 31, // Julio 31, // Agosto 30, // Septiembre 31, // Octubre 30, // Noviembre 31}; // Diciembre int diasMaximo = diasMes[mes-1]; if (!(dia > 0 && dia <= diasMaximo)) { System.out.println("Fecha inválida"); sc.close(); return; } System.out.println("Fecha válida"); sc.close(); }