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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 彭波 于 2013-3-18 08:45 编辑

import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
  Calendar c = Calendar.getInstance();
  
  String[] mons = {"一月", "二月", "三月", "四月",
          "五月", "六月", "七月", "八月",
          "九月", "十月", "十一月", "十二月"};
         
  String[] weeks = {
   "", "星期日", "星期一", "星期二", "星期三",
    "星期四", "星期五", "星期六"
                };
                  
  int index = c.get(Calendar.MONTH);
  int index1 = c.get(Calendar.DAY_OF_MONTH);
  
  sop(c.get(Calendar.YEAR)+"年");
  //sop((c.get(Calendar.MONTH)+1)+"月");
  sop(mons[index]);
  sop(c.get(Calendar.DAY_OF_MONTH)+"日");
  //sop("星期"+c.get(Calendar.DAY_OF_WEEK));
  sop(weeks[index1]);//这个地方角标越界,和毕老师的代码一样啊??难道我晚上眼镜花了
}
public static void sop(Object obj)
{
  System.out.println(obj);
}
}
毕老师所谓查表法输出日期,但我的代码报角标越界错误,求大神????

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览
int index1 = c.get(Calendar.DAY_OF_MONTH);//MONTH改为WEEK就OK了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  1. /*Calendar 日历*/

  2. import java.util.*;

  3. class CalendarDemo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 Calendar c = Calendar.getInstance();

  8.         //        c.set(2013,8,9);//设定时间值
  9.                
  10.                 c.add(Calendar.YEAR,2);//制定字段,加减时间量
  11.                 printCalendar(c);
  12.         }

  13.         public static void printCalendar(Calendar c)
  14.         {
  15.                 String[] month = {"一月 ","二月 ","三月 ","四月 ",
  16.                                                   "五月 ","六月 ","七月 ","八月 ",
  17.                                                   "九月 ","十月 ","十一月 ","十二月 "};

  18.                 String[] week = {"","星期日","星期一","星期二",
  19.                                   "星期三","星期四","星期五","星期六",};

  20.                 int index_month = c.get(Calendar.MONTH);
  21.                 int index_week = c.get(Calendar.DAY_OF_WEEK);//你这里是DAY_OF_MONTH(一个月的第几天)当然越界了,改成DAY_OF_WEEK即可

  22.                 sop(c.get(Calendar.YEAR)+"年");
  23.                 //sop((c.get(Calendar.MONTH)+1)+"月");
  24.                 sop(month[index_month]);
  25.                 sop(c.get(Calendar.DAY_OF_MONTH)+"日");
  26.                 //sop("星期"+c.get(Calendar.DAY_OF_WEEK));
  27.                 sop(week[index_week]);

  28.         }

  29.         public static void sop(Object obj)
  30.         {
  31.                 System.out.println(obj);
  32.         }
  33. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
上面那个是我写的代码,一着急就给粘上来了

int index1 = c.get(Calendar.DAY_OF_MONTH); //你这里是DAY_OF_MONTH(一个月的第几天)当然越界了,改成DAY_OF_WEEK即可


回复 使用道具 举报
int index1 = c.get(Calendar.DAY_OF_MONTH);这是嘛呢???int index1 = c.get(Calendar.DAY_OF_WEEK);正解!
源代码楼上给出来了,我就不贴了
回复 使用道具 举报
擦,我看错了,谢谢各位大侠
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马