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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ℡Bruce 初级黑马   /  2014-5-8 13:52  /  905 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. String [] Months=new String[]{"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
  2.                 String [] Weeks=new String[]{"一","二","三","四","五","六","日"};
  3.                 System.out.println(c.get(Calendar.YEAR)+"年"+Months[c.get(Calendar.MONTH)]+c.get(Calendar.DAY_OF_MONTH)+"日,星期"+Weeks[c.get(Calendar.DAY_OF_WEEK)]);
复制代码
  1. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 128
  2.         at com.itheima.CalendarDemo.PrintCalendar(CalendarDemo.java:20)
  3.         at com.itheima.CalendarDemo.main(CalendarDemo.java:14)
复制代码

会报数组越界的错误,Weeks[c.get(Calendar.DAY_OF_WEEK)]哪里需要更改?

1 个回复

倒序浏览
先说一下,养成良好的风格,一行代码尽量简短,并且保证一行代码只做一件事
DAY_OF_WEEK: 指一个星期中的某天。所以他会受到 第一天是星期几的影响。
有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。
下面是我改好的代码
  1. import java.util.*;
  2. public class Test
  3.         {
  4.                 public static void main(String[] args)
  5.                         {
  6.                                 String [] Months=new String[]{"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
  7.                 String [] Weeks=new String[]{"","日","一","二","三","四","五","六"};
  8.                 Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间
  9.                 System.out.print(c.get(Calendar.YEAR)+"年");
  10.                 System.out.print(Months[c.get(Calendar.MONTH)]);
  11.                 System.out.print(c.get(Calendar.DAY_OF_MONTH)+"日");
  12.                 System.out.print("星期"+Weeks[c.get(Calendar.DAY_OF_WEEK)]);
  13.                         }
  14.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马