呀!忙碌的每一天,都忘记了明天就是我们愉快周末了。今天没有朋友的闲聊的话,明天处在绷紧的状态呢!还有朋友提到,所有今天来跟大家分享一下用java来编写日历表,累了想休息了的时候,打开看看,还有几天到周末!那么我们来看一下代码,具体怎么实现吧!

public class Demo6 {

public static void main(String[] args) {

Demo6 demo = new Demo6();
               demo.show(2016,11);  //输入年和月份
      }

     //定义一个方法:判断是平年还是闰年
      public boolean isLeapYear(int year) {
                if (year%400==0 || (year%4==0 && year%100 !=0)) {
                       return true;
                 }

       return false;
       }

        //计算输入年份,月份的总天数
        public int getTotalDateFrom(int year, int month) {
                 int totalDate = 0;
                 for (int i = 1900; i < year; i++) {

//判断是闰年还是平年
                           if (isLeapYear(year)) {
                                    totalDate += 366;
                           }else{
                                    totalDate += 365;
                            }
                 }
                //计算2月份的天数
                for (int i = 1; i < month; i++) {
                           totalDate += getDayOfMonth(year, month);
                }
                return totalDate;

}

          //返回一个天数
         public int getDayOfMonth(int year,int month) {
         switch (month) {
               case 1:
               case 3:
               case 5:
               case 7:
               case 8:
               case 10:
               case 12:
                           return 31;
               case 4:
               case 9:
               case 11:
                          return 30;
               case 2:
                        if (isLeapYear(year)) {
                                 return 29;
                        } else {
                                return 28;
                        }

default:
                        return 30;
           }

}

         public int printSpace(int year, int month){
                  return getTotalDateFrom(year, month)%7;
         }

         public void print(int year, int month){
                  int countSpac = printSpace(year, month)+1;   //空格的个数
                  int coun = 0;      //定义一个计数
                  for (int i = 0; i < countSpac; i++) {
                           coun ++;
                           System.out.print("\t");
                  }

//打印日期
                  for (int i = 0; i < getDayOfMonth(year, month); i++) {
                          if (coun % 7 == 0) {
                          System.out.println();
                          }
                          coun++;
                          System.out.print(i+"\t");
                  }

            }

           public void show(int year, int month){
                    System.out.println(" **************"+year+"******"+month+"***************");
                    System.out.println("=======================================================");
                    System.out.println("日\t一\t二\t三\t四\t五\t六");
                    System.out.println("=======================================================");
                    print(year, month);
                   System.out.println();
           }

}

实现效果如下:

用java制作日历,想休息的时候看一看离周末还有几天!的更多相关文章

  1. 一个想休息的线程:JVM到底是怎么处理锁的?怎么不让我阻塞呢?

    我是一个线程,生活在JVM(Java虚拟机)中, 这一段日子过得有些无聊,整个世界似乎只有这一个人,天天忙着执行代码,想休息一下都很难. 我听说人类写的代码中有些特殊的地方,叫做临界区,比如synch ...

  2. 基于jQuery日历插件制作日历

    这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

  3. CSS3制作日历

    目标是制作如下面DEMO显示的一个日历效果: HTML Markup 先来看看其结构: <div class="calendar"> <span class=&q ...

  4. 【PHP】制作日历

    本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单 问题描述: 1.取到当前日期,并着色显示:2.根据当前日期,判断本月有多少天,一号是周几 ...

  5. 大家好,我是一个JAVA初学者,想在这里记下自己学习过程中的点点滴滴,请多多关照

    大家好,我是一个JAVA初学者,想在这里记下自己学习JAVA的点点滴滴,请多多关照. 以前一直在QQ空间里记录的,但感觉有些麻烦,而且有些东西自己理解的并不完善甚至都不正确,现在开始在这里重新记录,从 ...

  6. C# 正则表达式 和 JAVA表达式是想通的

    正则表达式语法 也许有人会说,现在需要正则表达式去验证什么的话,直接在网上找不久一大片吗?还需要学什么啊! 是的,现在在网上找确实是一找一大片,但是,有时候我们也遇到这样的情况,就是我们在网上找的复制 ...

  7. IEnumerator<TItem>和IEnumerator Java 抽象类和普通类、接口的区别——看完你就顿悟了

    IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要 ...

  8. 用最笨的方法实现java控制台日历打印

    如果想用户自定义输入日期查询,可以通过Calendar的set方法和Scanner方法设置 Calendar类简单使用:https://blog.csdn.net/weixin_43670802/ar ...

  9. Java简易日历的实现

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

随机推荐

  1. 现在再开发一个CMS系统还有市场吗?

    现在几个老的开源cms系统phpcms.dedecms  基本都不维护了,大量漏洞没人修补.后台难看无比.有没有必要开发一套新的cms系统.还有这个需求吗?大家说说.

  2. vijosP1137 组合数

    vijosP1137 组合数 链接:https://vijos.org/p/1137 [思路] 唯一分解定理. 简化式子为 : C = (n*…*m) / (n-m)!. 题目要求C质因子的数目,在质 ...

  3. BP神经网络分类器的设计

    1.BP神经网络训练过程论述 BP网络结构有3层:输入层.隐含层.输出层,如图1所示. 图1 三层BP网络结构 3层BP神经网络学习训练过程主要由4部分组成:输入模式顺传播(输入模式由输入层经隐含层向 ...

  4. md5可能会被破解咋办?

    所谓加Salt,就是加点“佐料”.其基本想法是这样的——当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”, ...

  5. test-from

    title header1 hahhahjl header2 adfkljasd $$a^2$$ point 1 point 2 | table1 | table2 | | ---- | ---- | ...

  6. Codeforces182D - Common Divisors(KMP)

    题目大意 如果把字符串a重复m次可以得到字符串b,那么我们称字符串a为字符串b的一个因子,现在给定两个字符串S1和S2,求它们的公共因子个数 题解 如果它们有公共因子,那么显然它们的最小公共因子肯定是 ...

  7. c语言 函数返回二位数组 函数参数为二维数组

    通过typedef可以简单实现.也可以直接写. 写了两个简单的矩阵操作的函数简单示例. #include <stdio.h> #include <stdlib.h> const ...

  8. 高并发Web服务的演变:节约系统内存和CPU

    一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现 ...

  9. ios 开发选取头像,图片库,相机,裁取图片

    需要遵守的代理协议:UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate @prop ...

  10. HDU 2554 N对数的排列问题

    LINK:HDU 2554 这是昨天晚上小练里面比较有趣的一道题~我在做的时候思路错了,以为数字的排列会有规律,结果后面发现就算有也很难找......╮(╯▽╰)╭ 看了网上的题解,有一种恍然大悟的感 ...