A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝迪 初级黑马   /  2012-8-28 11:49  /  1631 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蓝迪 于 2012-8-28 13:27 编辑

  1. import java.util.*;
  2. import java.text.*;
  3. class  CalendarDemo
  4. {
  5.         public static void main(String[] args)
  6.         {

  7.                 Calendar c = Calendar.getInstance();
  8.                
  9.                 String[] mons ={"1月","2月","3月","4月"
  10.                         ,"5月","6月","7月","8月"
  11.                         ,"9月","10月","11月","12月"};
  12.                 int index = c.get(Calendar.MONTH);//获取月份

  13.                 String[] weeks ={"","7","1","2","3","4","5","6"};
  14.                 int indexs = c.get(Calendar.DAY_OF_WEEK);//获取星期

  15.                 sop(c.get(Calendar.YEAR)+"年");
  16.                
  17.                 sop(mons[index]);
  18.                 sop(c.get(Calendar.DAY_OF_MONTH)+"日");

  19.                 sop("星期"+weeks[indexs]);
  20.                


  21.         }
  22.         
  23. }
复制代码
问:同样是查表法获取月份和日期,都是从0角标位开始查找
为什么获取月份的时候不需要前头加个空的元素,而获取日期需要加一个空元素

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

4 个回复

倒序浏览
不懂 。。。。。。
回复 使用道具 举报
因为在老外眼里,星期天是第一天,而且也是从1开始计算的,而月份是从0开始计算的
楼主你在代码后面加上sop(index);sop(indexs);,更改电脑的时间,一个个试一遍就全明白了



回复 使用道具 举报
int indexs = c.get(Calendar.DAY_OF_WEEK);这句话中的c.get(Calendar.DAY_OF_WEEK)返回的整数是从1开始的,外国人认为1代表的是星期日,所以我们定义的字符串数组中weeks[1] = "7"
月份是从零开始的,所以不用在前边空一个元素。
回复 使用道具 举报
问题已经解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马