Soy nuevo en Java. Hoy tengo una tarea de extensión de calendario, que consiste en ingresar el año y el mes desde el teclado y luego generar el calendario para ese mes. Por favor, deme algún consejo, gracias.
Hola, este es el código
import?java.util.Calendar;
import?java.util.Scanner;
/** *?@autor?liuxe *?@since?JDK?1.7.0_79 */
public?class?CalendarTest?{
public?static?void?main( String[]?args)?{
int?year?=?-1;
int?month?=?-1;
Escáner?escáner ?=?new?Scanner(System.in);
System.out.println("Ingrese el año");
¿mientras?(¿año?0)? {
¿intentar?{
año?=?scanner.nextInt();
}?catch?(¿Excepción?ex)?{
año?=?-1;
scanner.nextLine();
System.out.println("Error de entrada, ingrese el año");
}
}
System.out.println("Ingrese el mes");
mientras?(mes?0) ?{
¿intentar?{
mes?=?scanner.nextInt();
si?(mes?1?||?mes? >?12 )?{
lanzar?new?Exception();
}
}?catch?(¿Excepción?ex)?{
mes?=?-1;
scanner.nextLine();
System.out.println("Error de entrada, ingrese el mes"); p>
}
}
System.out.println("\n日\t一\t二\t三\t四\t五\t六\ n");
Calendar?calendar?=?Calendar.getInstance();
calendar.set(año,?mes?-?1,?1);
int?week?=?calendar.get(Calendar.DAY_OF_WEEK);
int?weekLoop?=?0;
int?monthDays?=?0;
//estructura del cambio
¿cambio?(mes)?{
caso?1:
mesDías?=?31; p>
break;
caso?2:
//Determinar si es año bisiesto
if?(((año?%? 4?==?0) ?&&?(año?%?100?=?0))?||?(año?%?400?==?0))?{
mesDías? =?29; p>
}?else?{
mesDías?=?28;
}
descanso;
caso?3 :
mesDías?=?31;
descanso;
caso
?4:
díasmes?=?30;
descanso;
caso?5:
díasmes?=?31;
ruptura;
caso?6:
mesDías?=?30;
ruptura;
caso? 7:
díasmes?=?31;
descanso;
caso?8:
díasmes?=?31; p>
descanso; p>
descanso;
caso?9:
mesDías?=?30;
descanso;
caso?10 :
díasmes?=?31;
descanso;
caso?11:
díasmes? =?30;
descanso;
predeterminado:
mesDías?=?31;
}
//for loop
for?(int?i?=?0?-?week?+?2;?i?<=?monthDays;?i++)?{
si?(i?<= ?0)?{
System.out.print("");
}?else?{
System. out.print(i);
}
semanaLoop++;
System.out.print("\t");
si?(weekLoop?%? 7?==?0)?{
System.out.println();
}
}
System.out .println();
scanner.close();
}
}
Ejecutar resultados :