黑马程序员技术交流社区

标题: 用Calendar类判断是不是闰年 [打印本页]

作者: 塔罗    时间: 2014-6-6 12:21
标题: 用Calendar类判断是不是闰年
  1. /*
  2. * 使用add()方法
  3. * Calendar类也是一个抽象类不能实例对象。
  4. * 运用set()get()add()等方法判断是不是闰年
  5. *
  6. * 要求:用户随便输入一个年份判断是不是闰年。
  7. * 思路:1.用户随便键盘录入一个年份,
  8. *                         用 set(Calendar.YEAR,int year);设置日历年份。
  9. *                         判断是不是闰年就是看2月的是不是有29天
  10. *                  2、自己set(Calendar.MONTH,2)//老师说外国第一个月说第0个月算的
  11. *                  3、set(Calendar.DAY_OF_MONTH,1);
  12. *                  4、add(Calendar.DAY_OF_MONTH,-1)偏移负一天。
  13. *                  5、get(Calendar.DAY_OF_MONTH),得到2月份的天数进行判断。
  14. */
  15. package day15.cn.incast;

  16. import java.util.Calendar;
  17. import java.util.Scanner;

  18. public class CalendarDemo2 {
  19.         public static void main(String []args){
  20.                 System.out.println("请输入一个年份");
  21.                 Scanner sca = new Scanner(System.in);
  22.                 int a = sca.nextInt();
  23.                 Calendar c = Calendar.getInstance();
  24.                 getCalendarTimeDemo(c,a);
  25.         }
  26.         public static void getCalendarTimeDemo(Calendar c,int year){
  27.                 c.set(Calendar.YEAR,year);
  28.                 c.set(Calendar.MONTH, 2);
  29.                 c.set(Calendar.DAY_OF_MONTH,1);
  30.                 c.add(Calendar.DAY_OF_MONTH, -1);
  31.                 int i = c.get(Calendar.DAY_OF_MONTH);
  32.                 System.out.println(year+"年"+isRunNian(i));
  33.         }       
  34.         public static String isRunNian(int ye){
  35.                 if(ye == 28){
  36.                         return "不是闰年";
  37.                 }else{
  38.                         return "是闰年";
  39.                 }
  40.         }
  41. }
复制代码
刚学的感觉的蛮有意思的!
换种思路来解决你已经掌握的东西。

作者: KevinSmart    时间: 2014-6-7 10:18
不错,谢谢分享
作者: ⋛⋌⋚JEEP    时间: 2014-6-24 19:06
不错的思路,多谢分享。如果代码能再简练一些,会不会更好呢?:)
  1. /*
  2. c.set(Calendar.YEAR,year);
  3. c.set(Calendar.MONTH, 2);
  4. c.set(Calendar.DAY_OF_MONTH,1);      ---->>>   c.set(year,2,1);
  5. */
复制代码





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