Java - programa que adivine el dia de la semana introduciendo una fecha

 
Vista:
sin imagen de perfil
Val: 53
Ha aumentado su posición en 133 puestos en Java (en relación al último mes)
Gráfica de Java

programa que adivine el dia de la semana introduciendo una fecha

Publicado por manuel (17 intervenciones) el 17/11/2019 09:14:34
Hola que tal necesito si alguien me puede ayudar con este programa:
Realizar un programa que valida fechas y nos dice el día de la semana que le corresponde, es decir, que introducimos una fecha y nos indica si es correcta o no y además nos dice el día de la semana que corresponde a dicha fecha. El programa nos pide que introduzcamos una fecha con el formato dd/mm/aaaa, es decir, el día tiene 2 dígitos, el mes también, y el año 4 dígitos. El día, mes y año están separados por el caracter /.to si alguien me puede ayudar en este programa:
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[SOLUCION] programa que adivine el dia de la semana introduciendo una fecha

Publicado por Billy Joel (875 intervenciones) el 17/11/2019 18:00:19
Yo lo resuelvo así:
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
Scanner sc = new Scanner(System.in);
System.out.print("Introduzca una fecha en formato dd/MM/yyyy: ");
String f = sc.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try {
    Calendar c = Calendar.getInstance();
    c.setTime(sdf.parse(f));
    switch (c.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.MONDAY:
            System.out.println("El día de la semaa es lunes");
            break;
        case Calendar.TUESDAY:
            System.out.println("El día de la semaa es martes");
            break;
        case Calendar.WEDNESDAY:
            System.out.println("El día de la semaa es miercoles");
            break;
        case Calendar.THURSDAY:
            System.out.println("El día de la semaa es jueves");
            break;
        case Calendar.FRIDAY:
            System.out.println("El día de la semaa es viernes");
            break;
        case Calendar.SATURDAY:
            System.out.println("El día de la semaa es sabado");
            break;
        case Calendar.SUNDAY:
            System.out.println("El día de la semaa es domingo");
            break;
    }
} catch (ParseException ex) {
    System.out.println("Formato de fecha incorrecto");
    ex.printStackTrace(System.out);
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 53
Ha aumentado su posición en 133 puestos en Java (en relación al último mes)
Gráfica de Java

[SOLUCION] programa que adivine el dia de la semana introduciendo una fecha

Publicado por manuel (17 intervenciones) el 17/11/2019 18:46:42
me funciona pero a la hora de poner una fecha en formato distinto no me da error me la coge igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[SOLUCION] programa que adivine el dia de la semana introduciendo una fecha

Publicado por Billy Joel (875 intervenciones) el 17/11/2019 19:26:26
Disculpas, asumí que el catch capturaría la excepcion pero lo que ha pasado es que el simpleDateFormat trató de corregirlo...
En todo caso se corrigue agregando lo siguiente:
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
Scanner sc = new Scanner(System.in);
System.out.print("Introduzca una fecha en formato dd/MM/yyyy: ");
String f = sc.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try {
    String [] ff = f.split("/");
    if(ff.length < 3
            || Integer.parseInt(ff[0]) < 1
            || Integer.parseInt(ff[0]) > 31
            || Integer.parseInt(ff[1]) < 1
            || Integer.parseInt(ff[1]) > 12 ){
        System.out.println("Error de formato");
        return;
    }
    Calendar c = Calendar.getInstance();
    c.setTime(sdf.parse(f));
    System.out.println("Dia: " + c.getTime());
    switch (c.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.MONDAY:
            System.out.println("El día de la semaa es lunes");
            break;
        case Calendar.TUESDAY:
            System.out.println("El día de la semaa es martes");
            break;
        case Calendar.WEDNESDAY:
            System.out.println("El día de la semaa es miercoles");
            break;
        case Calendar.THURSDAY:
            System.out.println("El día de la semaa es jueves");
            break;
        case Calendar.FRIDAY:
            System.out.println("El día de la semaa es viernes");
            break;
        case Calendar.SATURDAY:
            System.out.println("El día de la semaa es sabado");
            break;
        case Calendar.SUNDAY:
            System.out.println("El día de la semaa es domingo");
            break;
    }
} catch (ParseException ex) {
    System.out.println("Formato de fecha incorrecto");
    ex.printStackTrace(System.out);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 53
Ha aumentado su posición en 133 puestos en Java (en relación al último mes)
Gráfica de Java

[SOLUCION] programa que adivine el dia de la semana introduciendo una fecha

Publicado por manuel (17 intervenciones) el 17/11/2019 19:47:44
se podria hacer el mismo ejemplo sin cath ni arrays, solo con condicionales?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[SOLUCION] programa que adivine el dia de la semana introduciendo una fecha

Publicado por Billy Joel (875 intervenciones) el 17/11/2019 19:53:21
Esa es solo una ruta de como llegar a la solución
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar