黑马程序员技术交流社区

标题: 今天学了calendar类,晚上敲代码时遇到了个小问题,求解释 [打印本页]

作者: Qiubang    时间: 2016-2-16 23:09
标题: 今天学了calendar类,晚上敲代码时遇到了个小问题,求解释
                Scanner sc=new Scanner(System.in);
                System.out.println("录入日期字符串,格式(2015-10-20)");
                String date=sc.nextLine();
                Calendar cal=Calendar.getInstance();
                cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(date));
                System.out.println(cal.YEAR);;
                System.out.println(cal.get(Calendar.YEAR));

当我输入一个日期之后,刚开始没在意用get方法,为什么一定要用get,不用get我的输出结果就是1  用了get就是我输入的日期年份
作者: Qiubang    时间: 2016-2-16 23:12
求解答。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: j6819236    时间: 2016-2-17 19:15
public final static int YEAR = 1;
底层是把各段数据存入数组 Field[1]就代表所存年份,不信你把System.out.println(cal.get(Calendar.YEAR));改成
System.out.println(cal.get(1));试试,一样会打印输入的年份
作者: 黑马19期--李    时间: 2016-2-17 22:48
不懂、、
作者: WestdoorEmperor    时间: 2016-2-18 18:54
用get方法获取的年份是你设置的年份,而Cal.YEAR调用的是系统底层给的数据
作者: 苍山雪    时间: 2016-2-18 21:12
还没搞明白呢
作者: solista    时间: 2016-2-18 22:23
不调用get方法,打印出的是字段里的常量值






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