私はこのコードを理解したいと思います。私は年、月、日を入力するときにこのコードが私にカレンダーを与えることを知っています。次に、プログラムはその月のカレンダーを表示します。さらに、コードは私に現在の時刻と日付を表示します。しかし、私はそれがどのように機能するのか理解したいですか?どのようにこのJavaコードをカレンダーについて説明できますか
import java.util.*;
import java.text.SimpleDateFormat;
public class Calendar3
{
private static void doSimpleDateFormat() {
Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.print(" \n It is now : " + formatter.format(now.getTime()));
System.out.println();
}
public static void CalendarDemo(int Year, int Month, int Date) {
GregorianCalendar a = new GregorianCalendar();
a.set(Calendar.YEAR, Year);
a.set(Calendar.MONTH, (Month - 1));
a.set(Calendar.DAY_OF_MONTH, 1);
int weekday = a.get(Calendar.DAY_OF_WEEK);
int month = a.get(Calendar.MONTH);
System.out.println("'\n' YEAR : " + Year);
switch (month) {
case 0:
System.out.println();
System.out.println(" JANUARY ");
System.out.println();
break;
case 1:
System.out.println();
System.out.println(" FEBRUARY ");
System.out.println();
break;
case 2:
System.out.println();
System.out.println(" MARCH ");
System.out.println();
break;
case 3:
System.out.println();
System.out.println(" APRIL ");
System.out.println();
break;
case 4:
System.out.println();
System.out.println(" MAY ");
System.out.println();
break;
case 5:
System.out.println();
System.out.println(" JUNE ");
System.out.println();
break;
case 6:
System.out.println();
System.out.println(" JULY ");
System.out.println();
break;
case 7:
System.out.println();
System.out.println(" AUGUST ");
System.out.println();
break;
case 8:
System.out.println();
System.out.println(" SEPTEMBER ");
System.out.println();
break;
case 9:
System.out.println();
System.out.println(" OCTOBER ");
System.out.println();
break;
case 10:
System.out.println();
System.out.println(" NOVEMBER ");
System.out.println();
break;
case 11:
System.out.println();
System.out.println(" DECEMBER ");
System.out.println();
break;
}
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
for (int i = Calendar.SUNDAY; i < weekday; i++) {
System.out.print(" ");
}
do {
int day = a.get(Calendar.DAY_OF_MONTH);
if (day < 10) {
System.out.print(" " + day);
} else if (day >= 10) {
System.out.print(day);
}
if (day == Date) {
System.out.print("* ");
} else {
System.out.print(" ");
}
if (weekday == Calendar.SATURDAY) {
System.out.println();
}
a.add(Calendar.DAY_OF_MONTH, 1);
weekday = a.get(Calendar.DAY_OF_WEEK);
}
while (a.get(Calendar.MONTH) == month);
if (weekday != Calendar.SUNDAY) {
System.out.println();
}
System.out.println();
System.out.println("Note: '*' over any number is your desired number");
System.out.println();
doSimpleDateFormat();
}
}
あなたが理解していない、まさにそれがありますか? – Tedil
この部分はカレンダーnow = Calendar.getInstance(); SimpleDateFormat = new SimpleDateFormat( "hh:mm:ss a zzz"でのyyyy.MM.dd); System.out.print( "\ nこれは現在:" + formatter.format(now.getTime() )); } public static void CalendarDemo(int Year、int Month、int Date){GregorianCalendar a =新しいGregorianCalendar(); a.set(Calendar.YEAR、Year); a.set(Calendar.MONTH、(Month-1)); a.set(Calendar.DAY_OF_MONTH、1); int weekday = a.get(Calendar.DAY_OF_WEEK); int month = a.get(Calendar.MONTH); System.out.println( "'\ n' YEAR:" + Year); – MANAL