package unit5;

import java.text.DateFormatSymbols;

public class MyMonth {
private int month;
private int start_of_week;
private int days_in_month;
public static String [] weekdayNames=new DateFormatSymbols().getShortWeekdays();
private String[][] data = new String[7][8];
public MyMonth(int m,int s,int d){
month=m;
days_in_month=d;
start_of_week=s; for(int j=1;j<8;j++){
data[0][j]=new String(MyMonth.weekdayNames[j]);
} int days=1,day_of_week=start_of_week,r=1;
do{
data[r][day_of_week]=String.valueOf(days);
days++;
day_of_week++;
if(day_of_week==8){
day_of_week=1;
r++;
} }while(days<=days_in_month);
}
public void display(){
System.out.println("\t\t\t"+(month+1)+"month");
System.out.println("==================================================");
for(int i=0;i<7;i++){
for(int j=1;j<8;j++){
if(data[i][j]==null) System.out.print("\t");
else System.out.print(data[i][j]+"\t");
}
System.out.println();
}
System.out.println("==================================================");
}
public int getMonth(){return month+1;}
public int getDaysInMoth(){return days_in_month;}
public String[][] getData(){return data;} }
package unit5;
import java.awt.CardLayout;
import java.util.*; public class MyCalendarTest {
public static void main(String[] args) {
Calendar d =Calendar.getInstance();
Scanner keyin = new Scanner(System.in);
System.out.println("please enter the year that you want to see:");
int year = keyin.nextInt();
d.set(Calendar.YEAR,year);
MyMonth[] mymonth=new MyMonth[12];
for(int i=0;i<Calendar.DECEMBER;i++){
d.set(Calendar.MONTH,i);
d.set(Calendar.DAY_OF_MONTH,1);
mymonth[i]=new MyMonth(i,d.get(Calendar.DAY_OF_WEEK),d.getActualMaximum(Calendar.DAY_OF_MONTH));
}
//mymonth[0].display();
for(int i=0;i<=Calendar.DECEMBER;i+=2){
displyTwoMonth(mymonth[0],mymonth[1]);
} }
public static void displyTwoMonth(MyMonth mon1,MyMonth mon2){
System.out.print("\t\t\t"+mon1.getMonth()+" month ");
System.out.println("\t\t\t\t\t\t"+mon2.getMonth()+" moth ");
System.out.print("==========================================");
System.out.println("\t\t\t=============================================");
String [][]d1=mon1.getData();
String [][]d2 = mon2.getData();
for(int i=0;i<7;i++){
for(int j=0;j<8;j++)
{
if(d1[i][j]==null) System.out.print("\t");
else System.out.print(d1[i][j]+"\t");
}
for(int j=0;j<8;j++)
{
if(d1[i][j]==null) System.out.print("\t");
else System.out.print(d2[i][j]+"\t");
}
System.out.println();
} System.out.print("==========================================");
System.out.println("============================================="); } }

calendar 示例的更多相关文章

  1. Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(1) Calendar

    Java 操作日期/时间,往往会涉及到Calendar,Date,DateFormat这些类. 最近决定把这些内容系统的整理一下,这样以后使用的时候,会更得心应手.本章的内容是主要讲解“Java时间框 ...

  2. Java常用类库

    System System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. System描述系统一些信息.获取系统属性信息:Properties getP ...

  3. wxWidgets的安装编译、相关配置、问题分析处理

    wxWidgets的安装编译.相关配置.问题分析处理 一.介绍部分 (win7 下的 GUI 效果图见 本篇文章的最后部分截图2张) wxWidgets是一个开源的跨平台的C++构架库(framewo ...

  4. java里的日期时间

    为了更好理解java的日期时间类,在这里我们先介绍一下关于历法.标准时间的一些概念. 历法有很多种,我们大中华上下五千年,自然也有自己的历法,生活中我们通常把自己传统的历法叫做农历,也有人叫它阴历或夏 ...

  5. Quartz.Net使用教程

    在项目的开发过程中,难免会遇见后需要后台处理的任务,例如定时发送邮件通知.后台处理耗时的数据处理等,这个时候你就需要Quartz.Net了. Quartz.Net是纯净的,它是一个.Net程序集,是非 ...

  6. Date和Calendar时间操作常用方法及示例

    package test; import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; /** ...

  7. java 的Calendar类的可视化日历示例

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

  8. 【java】org.apache.commons.lang3功能示例

    org.apache.commons.lang3功能示例 package com.simple.test; import java.util.Date; import java.util.Iterat ...

  9. 转——JAVA中calendar,date,string 的相互转换和详细用法

    package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class Ca ...

随机推荐

  1. 记一个奇怪的python异常处理过程

    我的一个程序, 总是在退出时报异常, Exception TypeError: "'NoneType' object is not callable" in <functio ...

  2. 怎么让dedecms生成html页面更快些

    如何让织梦生成html页面更快些呢? 1.把文章模板里的“相关文章”.“热点文章”.“推荐文章”这类的标记删除了,用其它方式,如:shtml.js 引入 2.把织梦模板里用标记表示的模板路径.php附 ...

  3. (7)UI(基础对象)

    1.地图控件:   地图控件可支持导入Tiled地图编辑器导出的tmx格式文件,地图是制作游戏关卡地形图的控件,对于即时战略类型游戏的制作,为了使玩家流畅的切换游戏画面,经常会使用超过屏幕尺寸的地图. ...

  4. 深度学习入门教程UFLDL学习实验笔记一:稀疏自编码器

    UFLDL即(unsupervised feature learning & deep learning).这是斯坦福网站上的一篇经典教程.顾名思义,你将在这篇这篇文章中学习到无监督特征学习和 ...

  5. shell实现trim函数-去除字符串两侧的空格(包括tab,space键)

    shell实现trim函数效果去除字符串两侧的空格,以下三个命令等价,都能实现 sed 's/^\s*//' totrim.txt |sed 's/\s*$//'>trimed.txtsed ' ...

  6. css 之盒子模型

    display: none  inline   block float :none   right   left clear  left   right  both    清除浮动  是清楚它之前的左 ...

  7. sina第三方登录

    Sina  第三方登录 添加网站的流程如下: Sina接入主要审核点: • 1.网站可正常访问:若页面无法打开,或加载时间过长,或未建设完成的网站.或空白网站将无法通过审核: • 2.站点已部署微连接 ...

  8. 【转】kettle 的内存设置及输出日志的时间类型

    本文转载自:http://blog.csdn.net/dqswuyundong/archive/2010/10/19/5952004.aspx 设置kettle的内存 REM ************ ...

  9. mysql update case when和where之间的注意事项

    在日常开发中由于业务逻辑较为复杂,常常需要用到UPDATE和CASE...WHEN...THEN...ELSE...END一起做一些复杂的更新.有时候因为对这几个字句理解得不透彻会带来很大的困扰.因此 ...

  10. DFS:Curling 2.0(POJ 3009)

      冰壶2.0 题目大意:就是给你一个冰壶和一个地图,地图上有石头,冰壶只能沿着x方向和y方向运动,并且要一直运动直到撞到石头为止,并且沿着此方向撞过来会把挡住的石头撞没,冰壶在停的时候可以扔出去一次 ...