السلام عليكم ورحمة الله وبركاته
انا مطلوب مني عمل مشروع بالجافاا
ومشروعي عن الcalendar
الحمد لله عملت الكود وكل شي تمام
بس حبيت احد يشرح لي بعض الاشياء اللي ما فهمتها
اول شيء
هذا الكود
import javax.swing.*;
import java.util.*;
import java.text.*;
public class EnglishCalendar
{
public static String[] months = {
"January" , "February" , "March",
"April" , "May" , "June",
"July" , "August" , "September",
"October" , "November" , "December"
};
public static int days[] = {
31, 28, 31,
30, 31, 30,
31, 31, 30,
31, 30, 31
};
private void showMonth(int m, int y) {
int lead_spaces = 0;
if (m < 0 || m > 11) {
System.out.println("It should be 1 to 12");
}
else {
System.out.println();
System.out.println(" " + months[m] + " " + y);
System.out.println();
GregorianCalendar cal = new GregorianCalendar(y, m, 0);
System.out.println("Su Mo Tu We Th Fr Sa ");
lead_spaces = cal.get(Calendar.Year);
int day_of_month = days[m];
if (cal.isLeapYear(cal.get(Calendar.YEAR)) && m == 1){ day_of_month++;}
for (int i = 0; i < lead_spaces; i++) {
System.out.print(" ");
}
for (int i = 1; i <= day_of_month; i++) {
if (i < 10) System.out.print(" ");
System.out.print(i);
if ((lead_spaces + i) % 7 == 0) {
System.out.println();
}
else {
System.out.print(" ");
} }
System.out.println(); } }
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 The Current Time is : " + formatter.format(now.getTime()));
System.out.println();
}
public static void main(String[] args) {
String mo = JOptionPane.showInputDialog("Month");
String ye = JOptionPane.showInputDialog("Year");
int mon = new Integer(mo).intValue();
int yea = new Integer(ye).intValue();
EnglishCalendar k = new EnglishCalendar();
k.showMonth(mon - 1 , yea);
doSimpleDateFormat();
}
}
الاشياء اللي احتاج لشرحها من الكود
هي
private void showMonth(int m, int y) {
int lead_spaces = 0;
if (m < 0 || m > 11) {
System.out.println("It should be 1 to 12");
}
else {
System.out.println();
System.out.println(" " + months[m] + " " + y);
System.out.println();
GregorianCalendar cal = new GregorianCalendar(y, m, 0);
System.out.println("Su Mo Tu We Th Fr Sa ");
lead_spaces = cal.get(Calendar.Year);
int day_of_month = days[m];
if (cal.isLeapYear(cal.get(Calendar.YEAR)) && m == 1){ day_of_month++;}
for (int i = 0; i < lead_spaces; i++) {
System.out.print(" ");
}
for (int i = 1; i <= day_of_month; i++) {
if (i < 10) System.out.print(" ");
System.out.print(i);
if ((lead_spaces + i) % 7 == 0) {
System.out.println();
}
else {
System.out.print(" ");
} }
System.out.println(); } }وكمان
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 The Current Time is : " + formatter.format(now.getTime()));
System.out.println();
}