Java - Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde

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

Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde

Publicado por Carlos (2 intervenciones) el 14/11/2020 01:20:54
Buenas tardes ahora con el final del semestre nos encargaron un proyecto en el que nos pedian esto en java:
Explica y entrega evidencia de lo que has hecho y avanzado en el proyecto "Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde)

Para esto investigue y consegui un codigo y ahora lo intentare hacer yo mismo usando otro metodos, basicamente actualizarlo porque usa codigos que no hemos visto, este es el codigo.Les pido porfavor si alguien tiene idea de que es lo que hace en cada for?

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
62
63
64
65
66
67
68
69
70
71
72
73
74
Scanner pide = new Scanner (System.in);
    System.out.print("Dame El Dia: ");
    // Declara la variable lo más cerca
    // a donde la quieres usar.
    int dia=pide.nextInt();
    System.out.print("Dame El Mes (En Numero): ");
    int mes=pide.nextInt();
    System.out.print("Dame El Año: ");
    int año=pide.nextInt();
    int semana=0;
    /*{*/ // por que esta esta llave aqui?
    int x;
    // los ifs es mejor que lleven llaves siempre
    // aunque sea de una sola linea
    if((año / 100)%4 == 1) {
        x = semana + 5;
    } else if ((año/100)%4==2) {
        x= semana+3;
    } else if ((año/100)%4==3) {
        x = semana+1;
    } else if ((año/100)%4==0) {
        x = semana+0;
    } else {
        x=0;
    }
    int j=0;
    int z = 0;
    int año1=(año%100)+((año%100)/4);
    int y=0;
    if (año % 400 == 0 && año % 100 != 0 && año % 4 == 0) {
        if (mes==1 || mes==2) {
            j=z-1;
        } else {
            j=z+0;
        }
    }
    int u;
    if (mes == 8) {
        u = y + 1;
    } else if(mes == 2 || mes == 3 || mes == 11) {
        u = y + 2;
    } else if(mes == 6) {
        u = y + 3;
    } else if(mes == 9 || mes == 12 ) {
        u = y + 4;
    } else if(mes == 4 || mes == 7 ) {
        u = y + 5;
    } else if(mes == 1 || mes == 10 ) {
        u = y + 6;
    } else {
        u = y + 0;
    }
 
 
    int dtotal=x+y+z+año1+u+dia+j;
 
 
    if (dtotal%7==1) {
 
        System.out.print("Lunes");
    } else if(dtotal%7 == 2) {
        System.out.print("Martes");
    } else if(dtotal%7 == 3) {
        System.out.print("Miercoles");
    } else if(dtotal%7 == 4) {
        System.out.print("Jueves");
    } else if(dtotal%7 == 5) {
        System.out.print("Viernes");
    } else if(dtotal%7 ==6 ) {
        System.out.print("Sabado");
    } else
        System.out.print("Domingo");
    }
}
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

Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde

Publicado por Billy Joel (876 intervenciones) el 14/11/2020 02:46:29
¿Cual problema tienes?
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

Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde

Publicado por Billy Joel (876 intervenciones) el 14/11/2020 02:47:57
La premisa de tu problema la 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
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Calendar;
import java.util.Scanner;
 
public class CarlosCalendar {
 
    public static void main(String[] args) {
        Scanner pide = new Scanner(System.in);
        System.out.print("Dame El Dia: ");
        // Declara la variable lo más cerca
        // a donde la quieres usar.
        int dia = pide.nextInt();
        System.out.print("Dame El Mes (En Numero): ");
        int mes = pide.nextInt();
        System.out.print("Dame El Año: ");
        int año = pide.nextInt();
        Calendar c = Calendar.getInstance();
        c.set(Calendar.DATE, dia);
        c.set(Calendar.MONTH, mes - 1);
        c.set(Calendar.YEAR, año);
        String diaSemana;
        switch (c.get(Calendar.DAY_OF_WEEK)) {
            case Calendar.MONDAY:
                diaSemana = "Lunes";
                break;
            case Calendar.TUESDAY:
                diaSemana = "Martes";
                break;
            case Calendar.WEDNESDAY:
                diaSemana = "Miercoles";
                break;
            case Calendar.THURSDAY:
                diaSemana = "Jueves";
                break;
            case Calendar.FRIDAY:
                diaSemana = "Viernes";
                break;
            case Calendar.SATURDAY:
                diaSemana = "Sabado";
                break;
            default:
                diaSemana = "Domingo";
                break;
        }
        System.out.println("El día de la semana es " + diaSemana);
    }
}

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
2
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Que pida una fecha (un dia, un mes y un año) e imprima que día de la semana le corresponde

Publicado por Carlos (2 intervenciones) el 17/11/2020 01:59:42
La cosa es que tengo que usar el codigo que puse ya que en ese usa puros ifs ya que no hemos visto mucho y el profe quiere que usemos solo lo aprendido.
La cosa mi pregunta es si alguien sabe que es lo que hace en cada if? Ese es mi problema ya que lo tengo que explicar pero estoy bien perdido.
Gracias por tu respuesta Billy ya quisiera tener las habilidades para hacer un programa tan rapido como el que hiciste.
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