Java Calcular fecha lunar

Importar Java . util . scanner; clase pública PrintCalendar { /**

* @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();

}

}

}

}