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

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 5 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 (3 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: 1.825
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 (475 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: 8
Ha disminuido su posición en 5 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 (3 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: 1.825
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 (475 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: 8
Ha disminuido su posición en 5 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 (3 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: 1.825
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 (475 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