• 输入年份,然后打印出该年的万年历,以及标识出当天日期。相似于linux下的cal -y结果。




    public class Permanent {
    public static boolean isLeapYear(int year){//能被4整除但不能被100整除。或者能被400整除
    boolean leapYear = false;
    if((year % 100 == 0 && year % 400 == 0)||(year % 100 != 0 && year % 4 == 0)){
    leapYear = true;
    }
    return leapYear;
    }
    public static int countDays(int year){//选个基准2015年1月1日,星期四
    int countDays = 0;
    int beginYear =year > 2015 ? 2015 : year;
    int endYear = year > 2015 ?

    year : 2015;

    for(int i = beginYear;i < endYear;i++ ){
    if(isLeapYear(i)){
    countDays += 366;
    }else{
    countDays += 365;
    }
    }
    return countDays;

    }
    public static void showCaledar(int year){
    int days = countDays(year);
    int weekDay = days % 7;
    if(year > 2015){
    weekDay = (weekDay + 4) % 7;
    }else{
    weekDay = (11 -weekDay) % 7;
    }
    String[] monthLabels = new String[]{"January","February","March","April","May","June","July","August","September","October","November","December"};
    String[] weekLabels = new String[]{"Sun","Mon","Tur","Wen","Thr","Fra","Sat"};
    int[] monthDay = {31,28,31,30,31,30,31,31,30,31,30,31};
    for(int i = 0;i < 12;i++){
    System.out.println(" "+monthLabels[i]);
    for(String weekLabel : weekLabels){ //每一周的标签
    System.out.print(weekLabel + " ");
    }
    System.out.println(); //下一行
    for(int j = 0; j < weekDay; j++){//找到第一个日期
    System.out.print(" ");
    }
    if(isLeapYear(year)){
    monthDay[1] = 29;
    }else{
    monthDay[1] = 28;
    }
    for(int k = 1;k <= monthDay[i];k++){
    if((k + weekDay - 1) % 7 == 0){
    System.out.println();
    }
    if(k < 10){ //这里是对齐的问题
    System.out.print(k + " ");
    }else{
    System.out.print(k + " ");
    }

    }
    weekDay = (weekDay + monthDay[i]) % 7;
    }
    }

    public static void main(String[] args) {
    showCaledar(2014);
    }

    }

  • 相关阅读:
    忙活了半宿,写了个小玩意
    luogu P5171 Earthquake
    luogu P1850 换教室
    luogu P2507 [SCOI2008]配对 |动态规划
    luogu P3830 [SHOI2012]随机树
    luogu P3959 宝藏
    牛客竞赛-比赛
    牛客竞赛-Who killed Cock Robin
    luogu P3807 【模板】卢卡斯定理
    牛客竞赛 -被3整除的子序列
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7131414.html
Copyright © 2020-2023  润新知