日期:2014-05-20  浏览次数:20657 次

新手做日历时的一个问题
上面这些代码。在输入每一年的1月或者2月的时候   生成的日历就是错的   而输入别的月份应该都是对的   我是初学者   实在找不出来错误了   希望各位看一下告诉我   。   谢谢了!

import   java.text.SimpleDateFormat;
import   java.util.Date;
import   java.util.Calendar;
import   java.util.Scanner;

public   class   wenjian
{
        public   static   void   main(String   args[])
        {
                int   nian=0;
                int   yue=0;
                Scanner   dedao=new   Scanner(System.in);

                System.out.print( "请输入年: ");
                nian=dedao.nextInt();
                System.out.print( "请输入月: ");
                yue=dedao.nextInt();

                if   (nian <0   ||   yue <0   ||   yue> 12)
                        System.out.println( "请输入正确的信息! ");
                else
                {
                        shijian   a=new   shijian(nian,yue);
                        a.shezhiriqi();
                        a.dedaoxingqi();
                        a.jisuanxingqi();
                        a.xianshi();

                }

        }
}

class   shijian
{
//声明成员
        private   int   nian;     //保存年
        private   int   yue;   //保存月
        private   String   xingqi;     //得到日期字符串
        private   int   shuzi   =   0;   //把日期转换成数字后保存到这里
        private   int   runnian   =   0;   //判断闰年

//声明对象
        Date   riqi   =   null;
        Calendar   setriqi   =   Calendar.getInstance();
        SimpleDateFormat   format   =   new   SimpleDateFormat( "E ");

//以下是构造方法
        public   shijian(int   nian,   int   yue)   {
                this.nian   =   nian;
                this.yue   =   yue;

                if   (nian   %   4   ==   0   &&   nian   %   100   !=   0)     //判断闰年代码块
                        runnian   =   1;
                else   if   (nian   %   100   ==   0   &&   nian   %   400   ==   0)