• Lenguaje

    Java usando Scanner

  • Descripción

    Calcula la fecha del siguiente día a partir de una fecha digitada desde el teclado por el usuario (dd, mm, aaaa) e imprimirla. (Tenga en cuenta los años bisiestos.), recuerde que sólo debe ingresar valores correctos, es decir no pueden haber meses de más de 31 días o años con más de 12 meses, se debe garantizar que el año este en el rango de 4 cifras. (en caso de no cumplir con las condiciones se debe mostrar los mensaje de error).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.util.Scanner;

public class DiaSiguiente {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int anno, anno_siguiente, dia, dia_siguiente, mes;
        int mes_siguiente;
        System.out.print("Ingresa el valor de anno: ");
        anno = in.nextInt();
        in.nextLine();
        System.out.print("Ingresa el valor de dia: ");
        dia = in.nextInt();
        in.nextLine();
        System.out.print("Ingresa el valor de mes: ");
        mes = in.nextInt();
        in.nextLine();
        if((dia==30&&(mes==4||mes==6||mes==9||mes==11))||dia==31||(mes==2&&(dia==29||(dia==28&&(anno%4!=0||anno%100==0)&&anno%400!=0))))
        {
            dia_siguiente=1;
            mes_siguiente=mes+1;
        }
        else
        {
            dia_siguiente=dia+1;
            mes_siguiente=mes;
        }
        if(mes_siguiente==13)
        {
            anno_siguiente=anno+1;
            mes_siguiente=1;
        }
        else
            anno_siguiente=anno;
        if(dia<1||dia>31||(mes==2&&dia>29)||((mes==4||mes==6||mes==9||mes==11)&&dia==31)||(mes==2&&dia==29&&(anno%4!=0||anno%100==0)&&anno%400!=0))
        {
            dia_siguiente=0;
            mes_siguiente=0;
            anno_siguiente=0;
            System.out.println("D\u00EDa incorrecto");
        }
        if(mes<1||mes>12)
        {
            dia_siguiente=0;
            mes_siguiente=0;
            anno_siguiente=0;
            System.out.println("Mes incorrecto");
        }
        if(anno<1000||anno>=10000)
        {
            dia_siguiente=0;
            mes_siguiente=0;
            anno_siguiente=0;
            System.out.println("A\u00F1o incorrecto");
        }
        System.out.println("Valor de anno siguiente: " + anno_siguiente);
        System.out.println("Valor de dia siguiente: " + dia_siguiente);
        System.out.println("Valor de mes siguiente: " + mes_siguiente);
    }

}