Java输入年月,打印该月的日历,已知2000年1月1号是星期六

/**
     * @description 输入年月打印该月的万年历
     * @title 输入年月,打印该月的日历,已知2000年1月1号是星期六
     */
    public static void PrintWeekDay(){
        //定义年月变量
        int year,month;
        int totalDays=0;
        //定义Scanner对象
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入年份:");
        year=sc.nextInt();
        System.out.print("输入月份:");
        month=sc.nextInt();
        //已知2000年1月1号是星期六
        int y=2000,m=1,d=1;
        while(true){
            totalDays++;
            d++;
            int dayOfMonth=0;
            switch(m){
            case 1:case 3:case 5:case 7:case 8:case 10:case 12:
                dayOfMonth =31;
                break;
            case 4:case 6:case 9:case 11:
                dayOfMonth=30;
                break;
            case 2:
                if(y%4==0)
                    dayOfMonth=29;
                else 
                    dayOfMonth=28;
            }
            if(d>dayOfMonth){
                d=1;
                m++;
                if(m>12){
                    m=1;
                    y++;
                }
            }
            if(y==year&&m==month)
                break;
        }
        System.out.println("总天数:"+totalDays);
        int firstWeekDay=(totalDays-1)%7;
        System.out.println("当月1号星期"+firstWeekDay);
        //计算当月总天数
        int dayOfMonth=0;
        switch(month){
        case 1:case 3:case 5:case 7:case 8:case 10:case 12:
            dayOfMonth =31;
            break;
        case 4:case 6:case 9:case 11:
            dayOfMonth=30;
            break;
        case 2:
            if(y%4==0)
                dayOfMonth=29;
            else 
                dayOfMonth=28;
        }
        System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
        int k=0,t=0,day=1;
        //k计算格数 用于换行
        //t计算空白格
        //day打印日期
        while(day<=dayOfMonth){
            if(t"\t");
                t++;
            }else{
                System.out.print(day+"\t");
                day++;
            }
            k++;
            if(k%7==0)System.out.print("\n");
        }
    }
}

效果图
Java输入年月,打印该月的日历,已知2000年1月1号是星期六_第1张图片

你可能感兴趣的:(java基础知识总结-经典,日历)