由用户输入年度,月份,并计算在该月份之前共多少天

由用户输入年份,月份,并计算在该月份之前共多少天
/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分 
* Copyright (c) 2011, 烟台大学计算机学院学生                              
* 作    者:   李兆庆                         
* 完成日期:   2012      年   9    月        22   日 
* 输入描述:   
* 问题描述及输出:从键盘上输入一个年份,并输入一个月份,计算从当前年份1月1号只当前第month个月共有多少天
 (如输入年份为2011,月份为3月,则计算,从1月1号到3月1号共多少天。输入年份为2004,月份为10月,
 则计算,从1月1号到10月1号共多少天即计算从1月n-1月共有多少天)
* 程序头部的注释结束 
*/

import javax.swing.JOptionPane;  
public class Num {    
    
    /**  
     * @param args  
     */    
    public static void main(String[] args) {    
        // TODO Auto-generated method stub    
        String str=JOptionPane.showInputDialog("请输入您要判断的年份;");  
          
        int y = Integer.parseInt(str);  
          
        System.out.println("您输入的年份为:"+y);  
        
        String strm = JOptionPane.showInputDialog("请输入你要判断的月份为;");
        
        int m = Integer.parseInt(strm);
        
        System.out.println("您输入的月份为:"+m);
        
         
        if (jud ( y ))   
        {  
            System.out.println(y+"是闰年.");  
        }  
        else   
        {  
            System.out.println(y+"不是闰年");  
        }  
        int d = fig(m);
        
        if (jud(y))
        {
        	if (m >= 2)
        	{
        		++d;
        	}
        	System.out.println("您输入该月份的天数为:"+d);
         }
        else
        {
        	System.out.println("您输入该月份的天数为:"+d);
        }
        
    	
    }  
            
      
    public static boolean jud (int y)  
    {  
        if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)  
        {  
            return true;  
        }  
        else  
        {  
            return false;  
        }    
    }  
    
    
    
   public static int fig(int m)
   {
   	switch (m)
   	{
   	    case 1:
   	    	return 31;
   	    case 2:
   	    	return 31+28;
   	    case 3:
   		    return 31 + 31 +28;
   	    case 4:
   	    	return  31 + 31 +28 + 30;
   	    case 5:
   	    	return 31 + 31 +28 + 30 + 31;
   	    case 6:
   	    	return 31 + 31 +28 + 30 + 31 + 30;
   	    case 7:
   		    return 31 + 31 +28 + 30 + 31 + 30 + 31;
   	    case 8:
   	    	return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31;
   	    case 9:
   	    	return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30;
   	    case 10:
   	     	return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
   	    case 11:
   	    	return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
   	    case 12:
   		    return 31 + 31 +28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31;
   		default:
   		System.out.println("对不起,您输入的月份有误!");
   		return 0;
        }
   	}
} 
由用户输入年度,月份,并计算在该月份之前共多少天由用户输入年度,月份,并计算在该月份之前共多少天