黑马程序员技术交流社区

标题: 为什么想起天前面要加"",而且星期天加在第一个?有点蒙? [打印本页]

作者: 靓仔    时间: 2013-11-1 19:14
标题: 为什么想起天前面要加"",而且星期天加在第一个?有点蒙?
import java.util.*;
class  CalendarDemo
{
        public static void main(String[] args)
        {
                Calendar c=Calendar.getInstance();
                //c.set(2012,2,23);
                //往后推
                c.add(Calendar.MONTH,1);
                printCalendat(c);
        }
        public static void printCalendat(Calendar c)
        {
               
                String[] mons={"一月","二月","三月","四月",
                        "五月","六月","七月","八月",
                        "九月","十月","十一月","十二月"};
                String[] week={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
                int index=c.get(Calendar.MONTH);
                int week1=c.get(Calendar.DAY_OF_WEEK);
                sop(c.get(Calendar.YEAR));
                sop(mons[index]);
                sop(week[week1]);
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}

作者: 零下五度的水    时间: 2013-11-1 19:33
前面加空说明这个Calendar.DAY_OF_WEEK 是从1开始的,
Sunday开头这是老外的习惯,谁让Java不是中国人写的呢
作者: Cheers_for_CRAZ    时间: 2013-11-1 21:54
首先,老美是把星期天作为一个星期的第一天,
然后,一个数组中角标是从0 开始的。
int week1=c.get(Calendar.DAY_OF_WEEK);这句代码是获取一个星期中的第几天,
取值是范围是【1-7】。
String[] week={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
加了“”目的是为了让从这个数组中取值是从第一个值(星期天)开始取值。

作者: hel    时间: 2013-11-1 22:12
int week1=c.get(Calendar.DAY_OF_WEEK);取值是1—7
String[] week={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
老外的星期天=1,星期一=2,。。。星期六=7,
所以当取String[0]week是空,当时1的时候取星期天,。。。2是星期六

如果不加“”,在取第一个的时候就会变成“星期一”,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2