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. POJ 2503 Babelfish

    Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 28766 Accepted: 12407 Descripti ...

  2. cf.VK CUP 2015.C.Name Quest(贪心)

    Name Quest time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  3. 关于visio 2007导入独立图库

    很多作网络拓扑或服务器系统拓扑时,我们都会找到相关的Visio图库来画,但很多时候我们不知如何才能够直接导入,下面是我自己的导入方式,供大家参考下! 打开07Visio,自动加载设置: 工具--> ...

  4. Clustering by fast search and find of density peaks

    参考:http://www.52ml.net/16296.html 这个算法的优点就在于,它首先一步就能找到聚类中心,然后划分类别.而其他算法需要反复迭代才能找到中心聚类. 就是不知道代码该怎么写.. ...

  5. error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

    Windows服务器Azure云编译安装MariaDB教程 www.111cn.net 编辑:future 来源:转载 安装MariaDB数据库最多用于linux系统中了,下文给各位介绍在Window ...

  6. 【持续集成】[Jenkins]Job中如何传递自定义变量

    [Jenkins]Job中如何传递自定义变量 来自dweiwei   2015-06-27 18:37:19|  分类: 自动化测试 |举报 |字号大中小 订阅 用微信  “扫一扫” 将文章分享到朋友 ...

  7. Linux匿名管道与命名管道

    http://blog.chinaunix.net/uid-26000296-id-3408970.html /* * \File * main.c * \Descript * father-proc ...

  8. iOS 第三方自定义Alertview项目MBProcessHud中的重要代码分析

    做ios,弹出一个自定义的alertview挺常见的.ios7以前,我们可以对系统的UIAlertView进行一点操作,实现一点简单的定制,但是ios7不再允许我们这样做了.因此,我们需要自己创建一个 ...

  9. Android Studio安装与配置

    谷歌已经停止支持eclipse开发android了,转向android studio是大势所趋,笔者由于电脑配置的原因, 以前迟迟不愿意向android studio,现如今因为开始学习materia ...

  10. linux Xtrabackup安装及使用方法

    [root@centos01 ~]# rpm -Uvh http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x ...