• 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(" ");
                     }
              }
        }
    }

  • 相关阅读:
    Jenkins的安全控制
    浅谈JNDI的使用
    hdu 4544 湫湫系列故事——消灭兔子
    如何在工作和实践中学习射频知识
    JSONObject 解析
    SharePoint 2010 WebPart Web部分 总的膏
    J2EE学习笔记
    C和指针 (pointers on C)——第十二章:利用结构和指针
    UVA
    EasyUI-DataGrid多线动态实现选择性合并
  • 原文地址:https://www.cnblogs.com/chenrenshui/p/6083022.html
Copyright © 2020-2023  润新知