黑马程序员技术交流社区

标题: 根据结果二月怎么会是31天与事实不符怎么解决 [打印本页]

作者: 我叫MT    时间: 2014-1-6 14:14
标题: 根据结果二月怎么会是31天与事实不符怎么解决
本帖最后由 我叫MT 于 2014-1-6 15:56 编辑
  1. //获取任意年的二月有多少天
  2. import java.util.*;
  3. class CalendarDemo2
  4. {
  5.         public static void main(String[] args)
  6.         {

  7.                 Calendar c = Calendar.getInstance();
  8.                 c.set(2014,2,1);
  9.                 c.add(Calendar.MONTH,1);
  10.                 c.add(Calendar.DAY_OF_MONTH,-1);
  11.                                 printCalendar(c);
  12.         }
  13.         public static void printCalendar(Calendar c)
  14.         {
  15.                 String[] mons = {"","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
  16.                 String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};                                                        
  17.                 int index = c.get(Calendar.MONTH);
  18.                 int index1 = c.get(Calendar.DAY_OF_WEEK);
  19.                 sop(c.get(Calendar.YEAR)+"年");
  20.                 sop(mons[index]);
  21.                 sop(c.get(Calendar.DAY_OF_MONTH)+"日");
  22.                 sop(weeks[index1]);
  23.         }
  24.         public static void sop(Object obj)
  25.         {
  26.                 System.out.println(obj);
  27.         }
  28. }
复制代码
Dos演示
D:\myjava>java CalendarDemo2
2014年
二月
31日
星期一
求解怎么回事应该要的结果是28天才对啊

D:\myjava>


作者: jibenwujie    时间: 2014-1-6 14:24
楼主你好,我好像记得毕向东视频中有这么个习题,我当时也做了一下,
  1. package com.itheima.test;

  2. import java.util.Calendar;

  3. public class Test01 {

  4.         /**
  5.          * 获取任意年的二月有多少天
  6.          */
  7.        
  8.         public static void getLastDay(int year) {
  9.                
  10.                 Calendar calendar = Calendar.getInstance();
  11.                
  12.                 calendar.set(year,2,1);
  13.                
  14.                 calendar.add(Calendar.DAY_OF_MONTH, -1);
  15.                
  16.                 int day = calendar.get(Calendar.DAY_OF_MONTH);
  17.                
  18.                 System.out.println(day);
  19.         }
  20.        
  21.        
  22.        
  23.        
  24.        
  25.         public static void main(String[] args) {
  26.                
  27.                 Test01.getLastDay(2014);
  28.                
  29.         }

  30. }
复制代码








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