Java Calcular fecha lunar
* @param args
*/
Public static void main(String[] args ) {
Sistema. out .println(" * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Entrada del escáner = nuevo instrumento de escaneo"); (system . in);
system . out . print("\nSeleccione el año:");
int año = nextint();
system . print("\nSeleccione un mes:");
int mes = input;
system out . días = 0; //Almacena la fecha del mes actual.
Booleano isRn
/*Juzga si es un año bisiesto*/
if(Año % 4 = = 0 & amp& amp!(Año % 100 = = 0 )| | Año % 400 = = 0){//Determinar si es año bisiesto.
isRn = true//Año bisiesto
} En caso contrario {
isRn = false//Año promedio
}/*Calcular el año de entrada Número de días antes*/
int total de días = 0;
for(int I = 1900;i<year;i++) {
/*Sentencia Año bisiesto o año ordinario y días acumulados*/
if(I % 4 == 0 & amp; & amp! (i% 100 == 0) || i% 400 == 0) {/ /Juicio sobre si es año bisiesto.
Número total de días = número total de días + 366; // 366 días en año bisiesto
} En caso contrario {
Número total de días = número total de días + 365; // 365 en días normales del año
}
}/*Calcular el número de días antes del mes de entrada*/
int antes días = 0;
for(int I = 1;i<=mes;i++) {
Cambiar (i) {
Caso 1:
Caso 3:
Caso 5:
Caso 7:
Caso 8:
Caso 10:
Caso 12:
Número de días = 31;
Descanso;
Caso 2:
if (isRn) {
Número de días = 29;
p>}else{
Días = 28;
}
Pausa;
Predeterminado:
Días = 30 días;
Pausa;
}
si (i<month){
Días antes= Número de días anteriores + número de días
}
}
Número total de días; = número total de días + número de días anteriores; //1900 65438 + 1 de octubre/* Calcular el día de la semana */
int firstDayOfMonth//Almacenar el día de la semana del primer día de el mes: el domingo es 0, de lunes a sábado es 1~6.
int temp = 1 + número total de días % 7; //Calculado a partir de 65438 + 65438 + 1 en octubre de 0900.
If (temp == 7) {//Busca el primer día del mes.
primer día del mes = 0; // domingo
} en caso contrario {
firstDayOfMonth = temp
}/*calendario de salida* /
System.out.println ("Domingo\tLunes\tMartes\tMiércoles\tJueves\tViernes\tSábado");
for(int null no = 0; nullNo & ltfirstDayOfMonthnullNo++) {
sistema . out . print(" \ t "); //Espacios de salida
}
for(int I = 1;i<=día; i++) {
system out . print(I+" \ t ");
If((número total de días+I-1)% 7 = = 5){/ /Si hoy es sábado, la salida finalizará.
sistema . fuera . println();
}
}
}
}