Quitar código espagueti de ejercicio 11

This commit is contained in:
PC de clase committed 2026-09-25 09:40:18 +02:00
1 parent 395ce74a0d
commit 38fce30e8b
1 file changed
+18 -40
+18 -40
View File
@@ -17,50 +17,28 @@ void main() {
return; return;
} }
int diasMaximo = 0; if (!(mes > 0 && mes <= 12)){
switch (mes){
case 1:
diasMaximo = 31;
break;
case 2:
boolean bisiesto = (ano % 4 == 0 && ano % 100 != 0) || (ano % 400 == 0);
diasMaximo = (bisiesto) ? 29 : 28;
break;
case 3:
diasMaximo = 31;
break;
case 4:
diasMaximo = 30;
break;
case 5:
diasMaximo = 31;
break;
case 6:
diasMaximo = 30;
break;
case 7:
diasMaximo = 31;
break;
case 8:
diasMaximo = 31;
break;
case 9:
diasMaximo = 30;
break;
case 10:
diasMaximo = 31;
break;
case 11:
diasMaximo = 30;
break;
case 12:
diasMaximo = 31;
break;
default:
System.out.println("Fecha inválida"); System.out.println("Fecha inválida");
return; 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)) { if (!(dia > 0 && dia <= diasMaximo)) {
System.out.println("Fecha inválida"); System.out.println("Fecha inválida");
return; return;