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. Powershell学习之道-文件夹共享及磁盘映射

    导读 在Linux环境下,我们很轻易就能得心应手地通过命令操作一切事物,在Windows下,Powershell也算是后起之秀,提供大量的cmdlet以及c#的横向拓展.下面将由小编带领大家通过Pow ...

  2. CPU供电维修

  3. Linux 查看系统用户的登录日志

    查看用户登录系统的日志   有两类日志记录用户登录的行为,一是记录登录者的数据,一个是记录用户的登录时间   一,记录用户登录数据         /var/log/wtmp日志文件记录用户登录的数据 ...

  4. JAVA程序1,1,2,3,5,8,13,21....第30个是什么...?

    解题思路:从第3个数字开始,后一个数字是前2个数字的和public class text{ public static void main(String[] args) { int num1=1,nu ...

  5. 【leetcode】Interleaving String

    Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. Fo ...

  6. spring3.2.8+quartz2.2.0(比较全,对比quartz1.x的配置)

    spring3.2.8 + quartz2.2.0报错: java.lang.IncompatibleClassChangeError: class org.springframework.sched ...

  7. iOS 利用constraint实现2个控件上下的空白是相等的

    说的有点乱,先看个图把 其实这个constrant的目的就是控制两个方形的控件上方和下方的空白大小. 对于每一个方块来说,他们上方和下方的空白是相同的.这种“居中”的设计到处可见.一个控件想实现这种居 ...

  8. iOS的runtime(转)

    1. 什么是runtime 运行时刻是指一个程序在运行(或者在被执行)的状态.也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻.在一些编程语言中,把某些可以重用的程序或者实例 ...

  9. css样式自适应,支持数字

    td加上style="word-break: break-all;word-wrap: break-word;"样式即可

  10. 强制JSP页面刷新,防止被服务器缓存(可用于静态include强制刷新)

    对于jsp页面,为了防止页面被服务器缓存.始终返回同样的结果. 通常的做法是在客户端的url后面加上一个变化的参数,比如加一个当前时间. 我现在使用的方法是在jsp头部添加以下代码: <%    ...