黑马程序员技术交流社区

标题: 键盘输入年份和月份,然后控制台返回该月份的天数 [打印本页]

作者: 驰骋向前    时间: 2016-12-4 23:52
标题: 键盘输入年份和月份,然后控制台返回该月份的天数
/*2:键盘输入年份和月份,然后控制台返回该月份的天数(闰年2月29天).*/
public class runnian {
    public static void main(String[] args) throws ParseException    {
               System.out.println("请输入年份(yyyy)");
                   int y = new Scanner(System.in).nextInt();
                   System.out.println("请输入月份(MM)");
                   int M = new Scanner(System.in).nextInt();
                   System.out.println("----------------");
               calendar(y,M);
               System.out.println("----------------");
               ifelse(y,M);
        }
    //方法一
        private static void calendar(int y,int M) {
                 if (M<=0 || M>12) {
                        System.out.println("请输入正确的年份和月份");
                 }else{
                         Calendar c = Calendar.getInstance();
                         c.set(y,M,1);
                         c.add(Calendar.DAY_OF_MONTH, -1);
                         int i =c.get(Calendar.DAY_OF_MONTH);
                         System.out.println(y+"年"+M+"月份有:28天");
                         if(i==29){
                                 System.out.println(y+"年是闰年");
                         }
                         if(i==28){
                                 System.out.println(y+"年是平年");
                         }
                         
                 }
               
        }
        //方法二
        private static void ifelse(int y,int M) {
                if (M<=0 || M>12) {
                        System.out.println("请输入正确的年份和月份");
                } else if (M==4 || M==6 || M==9 || M==11)  {
                        System.out.println(y + "年" + M + "月份有:30天");
                } else if (M == 2){
                        if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) {
                                // 闰年2月
                                System.out.println(y + "年" +"是闰年,有:29天");
                                System.out.println(y + "年" +"是闰年");
                        } else {
                                //平年2月
                                System.out.println(y + "年" + M + "月份有:28天");
                                System.out.println(y + "年" +"是平年");
                        }
                } else {
                        System.out.println(y + "年" + M + "月份有:31天");
                }
               
        }
}





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