Java打印日历

描述

已知2020年第一天是星期日 ,打印2020年某月的月历。

输入

输入月份

输出

输出提示:
System.out.printf("%4s%4s%4s%4s%4s%4s%4s","日","一","二","三","四","五","六");
System.out.println("*****2020年"+month+"月份*****");
System.out.printf("%3d",day);

难度

入门

输入示例

2

输出示例

*****2020年2月份*****
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int month=in.nextInt();
        print(month);
        in.close();
    }
    public static int day(int i){
        int k=-1;
        switch (i){
            case 1: case 3: case 5: case 7: case 8: case 10: case 12:k=31;break;
            case 4: case 6: case 9: case 11:k=30;break;
            case 2:k=29;break;
            default:break;
        }
        return k;
    }
    public static void print(int month){
        int sum=3;
        int k=day(month);
        for (int j = 1; j < month; j++)
            sum+=day(j);
        int s=sum%7;
        System.out.println("*****2020年"+month+"月份*****");
        System.out.printf("%4s%4s%4s%4s%4s%4s%4s","日","一","二","三","四","五","六");
        System.out.println();
        int n=1;
        for (int i = 0; i < s; i++)
            System.out.printf("%3s"," ");
        for (;s<7;s++){
            System.out.printf("%3d",n);
            n++;
        }
        System.out.println();
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 7; j++) {
                System.out.printf("%3d",n);
                n++;
                if (n>k)break;
            }
            System.out.println();
        }
    }
}

 


 

posted @ 2020-02-22 19:48  哦呦aholic  阅读(475)  评论(0编辑  收藏  举报