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. editplus快捷键大全之editplus编辑快捷键

    前面我们说了editplus快捷键大全之editplus文件快捷键和editplus快捷键大全之editplus光标快捷键,这里我们讲一下editplus快捷键大全之editplus编辑快捷键 删除光 ...

  2. Lua中的捕获

    Lua中的捕获   捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获.在string.find使用捕获的时候,函数会返回捕获的值作为 ...

  3. TASKKILL命令使用大全

    Mr.Savin Mr.Savin 2009-08-07 183315TASKKILL [S system [U username [P [password]] { [FI filter] [PID ...

  4. 使用 systemd timer 备份数据库

    导读 主要的Linux发行版都改用systemd 来替代 System V启动方式,其中 systemd timer 能替代 crontab 计划任务的大部分功能.本文介绍了用systemd time ...

  5. 搭建DNS服务器

    导读 Linux下架设DNS服务器通常是使用Bind程序来实现的.Bind是一款实现DNS服务器的开放源码的软件.DNS即域名系统,主要功能是将人们易于记忆的Domain Name(域名)与不易记忆的 ...

  6. 将Web应用性能提高十倍的10条建议

    导读 提高 web 应用的性能从来没有比现在更重要过.网络经济的比重一直在增长:全球经济超过 5% 的价值是在因特网上产生的(数据参见下面的资料).这个时刻在线的超连接世界意味着用户对其的期望值也处于 ...

  7. linux dd命令实用详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  8. dubbo作为消费者注册过程分析

    请支持原创: http://www.cnblogs.com/donlianli/p/3847676.html   作者当前分析的版本为2.5.x.作者在分析的时候,都是带着疑问去查看代码,debug进 ...

  9. 面向侧面的程序设计AOP-------《三》.Net平台AOP技术概览

    本文转载自张逸:晴窗笔记 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使得.Net平台在大型的企业级应用上, ...

  10. 【python】时间性能分析

    参考: http://blog.jobbole.com/47619/ http://chenpeng.info/html/1754 1.计算整个程序运行时间,直接用linux的time命令即可 tim ...