zoukankan      html  css  js  c++  java
  • java日历显示年份、月份

    import java.util.Scanner;

    class CalendarMain
    {
        //主函数入口
        public static void main(String[] args)
        {
            System.out.println("*****请输入日期(格式如: 2011-01)*****");
            Scanner sc = new Scanner(System.in);
            String ym = sc.next();
            //截取字符串
            String[] yearMonth = ym.split("-");
            //将字符串转化成整型
            int year = Integer.parseInt(yearMonth [0]);
            int month = Integer.parseInt(yearMonth [1]);
            Year.fun(year);
            Month.fun(month,year);
        }
    }

    //获取闰年个数
    class Year
    {
        //多少个闰年
        static int leapYear = 0;

        public static void fun(int year){
            if(year > 1990 && year <10000){
                while(year >= 1990){
                    if(year % 4 == 0 && year % 100 != 0 || (year % 400 ==0 )){
                        leapYear ++;
                    }
                    year --;
                }
            }else{
                System.out.println("请输入查询的年份大于或等于1990年!");
            }
        }
    }

    //获取一个月多少天和总天数
    class Month
    {
        public static void fun(int month,int year){
            int monthDay = 0;
            Year y = new Year();
            int days = y.leapYear + (year - 1990)*365;
            if(month > 0 && month <=12){
                for(int i = 1;i <= month;i++){
                    if(i < 8 && i != 2){
                        days += i % 2 == 1 ? 31 :30;
                        monthDay = i % 2 == 1 ? 31 :30;
                    }
                    if(i > 7){
                        days += i % 2 == 1 ? 30 :31;
                        monthDay  = i % 2 == 1 ? 30 :31;
                    }
                    if(i == 2){
                        if(year % 4 == 0 && year % 100 != 0 || (year % 400 ==0 )){
                            days += 28;
                            monthDay = 29;
                        }else{
                            days += 28;
                            monthDay = 28;
                        }
                    }
                }
                Show.mothed(days,monthDay);
            }else{
                 System.out.println("请输入正确的月份!");
            }
        }
    }

    //显示日历
    class Show
    {
        public static void mothed(int days, int monthDay){
              //加一表示从星期一开始
              int week = (days - monthDay) % 7 + 1;

              System.out.println(" 周日"+" 周一"+" 周二"+" 周三"+" 周四"+" 周五"+" 周六");
              for (int i = 1;i <= monthDay + week ;i++ )
              {
                  if(i <= week){
                      System.out.print(" "+"*"+" ");
                  }else{
                      if((i-week) < 10){
                           System.out.print(" "+(i-week)+" ");
                        }else{
                           System.out.print((i-week)+" ");
                         }
                  }      
                 if(i%7 == 0){
                      System.out.print(" ");
                     }
              }
        }
    }

  • 相关阅读:
    python测试开发django-39.xadmin详情页面布局form_layout
    Linux学习20-nohup挂后台启动django
    python测试开发django-38.多对多(ManyToManyField)查询
    python测试开发django-37.外键(ForeignKey)查询
    因子分解机模型简介
    Social regularizations
    MathType插入带序号公式的两种方法
    通俗解释遗传算法及其Matlab实现
    矩阵中路径数目问题
    Word绘制跨行表格
  • 原文地址:https://www.cnblogs.com/chenrenshui/p/6083022.html
Copyright © 2011-2022 走看看