Ejercicio 11 (espagueti)
This commit is contained in:
1 parent
bd3b1be755
commit
395ce74a0d
1 file changed
+70
@@ -0,0 +1,70 @@
|
|||||||
|
// 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");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int diasMaximo = 0;
|
||||||
|
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");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(dia > 0 && dia <= diasMaximo)) {
|
||||||
|
System.out.println("Fecha inválida");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
System.out.println("Fecha válida");
|
||||||
|
sc.close();
|
||||||
|
}
|
||||||
Reference in new issue
Block a user