explain some part in the code
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/4639133/please-explain-these-java-code">Please , Explain these java code ..?</a>  </p>
</blockquote>



<p>hi 
i do tihe code in java </p>

<pre>
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 &lt; 0 || m &gt; 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.DAY_OF_WEEK);  
              int day_of_month = days[m];           
if (cal.isLeapYear(cal.get(Calendar.YEAR)) && m == 1){ day_of_month++;}   
 for (int i = 0; i &lt; lead_spaces; i++) {      
System.out.print("   ");                     }     
  for (int i = 1; i &lt;= day_of_month; i++) {      
             if (i &lt; 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 It is now : " + 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();   }       } 
</pre>

<p>this is whole code 
i understand this
but i didn't know how can write the explain in report 
be clear if you can tell me the explain, i hope  that 
if you want to know spically part to explain tell me and i will put in the second replay 
thank you !!! </p>
