对于任意年份,判断闰年还是平年

需求:键盘录入任意一个年份,判断该年是闰年还是平年
分析:
1、键盘录入年Scanner
2、创建Calendar c = Calendar.getInstance();
3、通过set方法设置为那一年的3月1日
4、将日向前减去1
5、判断日是多少天,如果是29天返回true否则返回false

package com.liuyue.java;

import java.util.Calendar;
import java.util.Scanner;

public class LeapOrCommonYear {
    public static void main(String[] args){
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入年份,判断该年份是闰年还是平年:"); 

         int year = sc.nextInt();
         boolean b = getYear(year);
         if(b){
             System.out.println(year+"是闰年");
         }else{
             System.out.println(year+"是平年");
         }
     }
      public static boolean getYear(int year){
         Calendar c = Calendar.getInstance();
         //设置的时间为对应年份的3月1日
         c.set(year,2,1);
         c.add(Calendar.DAY_OF_MONTH,-1);
         return c.get(Calendar.DAY_OF_MONTH)==29;
      }    
}
Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。
Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化

Calendar rightNow = Calendar.getInstance();
1、可以通过字段获取rightNow代表的时间的各个值
  int get(int field)   field为Calendar类中的常量字段值
2、返回给定日历字段的值。
  通过字段获取年  rightNow.get(Calendar.YEAR);
  2.1通过字段获取月,从0开始编号
      rightNow.get(Calendar.MONTH);
  2.2通过字段获取日,月中的第几天  
      rightNow.get(Calendar.DAY_OF_MONTH); 
  2.3通过字段获取星期中的日期,周日为第一天,周六是最后一天
      rightNow.get(Calendar.DAY_OF_WEEK);
 通过查表法,返回正确的星期
  public static String getWeek(int week){
     String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
   return arr[week];
  }
66日 通过函数改为0606public static String getNum(int num)
  {
     return num > 9 ? ""+num : "0" + num ;
  } 
  System.out.println(rightNow.get(Calendar.YEAR) + "年" + getNum((rightNow.get(Calendar.MONTH)+1)) + "月" + getNum(rightNow.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(rightNow.get(Calendar.DAY_OF_WEEK))) ;  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值