System.out.println("请输入日期(按照格式:2030-3-10):");
//在控制台输入
//String str="2016-9-26";
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
//将字符串转为日期,记住 abstract class DateFormat,所以要 new 子类
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
//导入包的时候记住 java.util.Date;
Date date=dateformat.parse(str);
//将日期转为日历 记住 abstract class Calendar
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
/*要实现一个日历的功能
* 1.首先要知道这个月份共有多少天
* 2.知道每个月的一号在星期几,并且知道外国和中国的日历不同,比如外国的每周第一天是我们的星期日
* 我们可以把控制台拿到的日历进行转化,我们把每次拿到的日历重新设置为当月的第一天,
* 这样我们就可以知道每月一号前有几个空格符
*

* */
//获取本月最大的天数
int maxday=calendar.getActualMaximum(Calendar.DATE);
System.out.println("最大的天数 maxday:"+maxday);
//把日期设置为一号,并且找出是本周的第几天,并且测试一下
calendar.set(Calendar.DATE, 1);
int day=calendar.get(Calendar.DATE);
int weekofday1=calendar.get(Calendar.DAY_OF_WEEK);
/*int day=calendar.get(Calendar.DATE);
System.out.println(day);*/


System.out.println("日\t一\t二\t三\t四\t五\t六");
//要把一号置为所在的星期几,所以要先空格
for(int i=1;i<weekofday1;++i){
System.out.print("\t");
}

for(int i=1;i<=maxday;++i){
if(i==day){
System.out.print(i+"*"+"\t");
}else{
System.out.print(i+"\t");
}
//注意是 print 不是println

//每次到了星期六就要换行,如果拿到每周的第七天就是星期6==Calendar.DAY_OF_WEEK,就换行
//但是要注意我们设置的日期已经为一号了,所以每次循环结束前要增加日期的天数,要么始终为一号
int weekofday=calendar.get(Calendar.DAY_OF_WEEK);
if(weekofday==Calendar.SATURDAY){
System.out.println();
}
calendar.add(Calendar.DATE,1);
}

 

java 日历代码实现的更多相关文章

  1. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  2. 经典KMP算法C++与Java实现代码

    前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...

  3. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  4. 分享:根据webservice WSDL地址自动生成java调用代码及JAR包

    分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...

  5. FastDFS搭建及java整合代码【转】

    FastDFS软件介绍 1.什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高 ...

  6. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  7. 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)

    PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...

  8. java集合框架之java HashMap代码解析

     java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...

  9. 在Jmeter中使用自定义编写的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

随机推荐

  1. 17. javacript高级程序设计-错误处理与调试

    1. 错误处理与调试 l 在可能发生错误的地方使用try-catch方法,可以对错误进行及时的相应 l 使用window.onerror事件处理程序,这种方式可以接受try-catch不能处理的所有错 ...

  2. NetBeans常用快捷键

    Ctrl+Space:代码自动完成,在Windows下通常与输入法切换有冲突,我改成了ALT+2: Ctrl+/:注释&取消注释: Alt+Shift+F:编辑器自动格式,由于三个组合键不好按 ...

  3. 【leetcode】Reverse Bits(middle)

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  4. hosts文件修改之后立刻刷新

    最近因为项目的需要,总是修改hosts文件,每次修改之后都要重启浏览器,总结下刷新的方式 window下,hosts文件位置:C:\windows\system32\drivers\etc\hosts ...

  5. chaper3_exercise_Uva1585_score

    #include<iostream> #include<string> using namespace std; int main(void) { , j = ; string ...

  6. 使用xib需要记得的小问题

    1. 图片 加载 图片上的label 不显示, 最后是因为xib 里位置动了 图片跑到最上层盖住了labe 2. 加载xib 有时候会崩 或加载不出来  先查看xib 是否有多余控件 3. 查看关联 ...

  7. Android View -- setTranslationX

    通过此方法使View位置发生偏移,达到margin的作用却又不改变View的getLeft()的值. 恢复方法是setTranslationX(0),而不是上一次偏移量的相反数. 不过,通过getLo ...

  8. zip 压缩文件 unzip查看zip压缩包内的内容

    [root@GitLab tmp]# zip -r new.zip ./*  adding: gitlab_key_file20161001-2668-1eu44mv (deflated 15%)  ...

  9. 自定义log日志

        Log.cs (这个已经不能用了,用下面的问题解决方案) using System; using System.Collections.Generic; using System.Web; u ...

  10. JSON C# Class Generator ---由json字符串生成C#实体类的工具(转)

    转载地址:http://www.cnblogs.com/finesite/archive/2011/07/31/2122984.html json作为互联网上轻量便捷的数据传输格式,越来越受到重视.但 ...