• 闰平年简介及计算过程描述


     1 import java.util.Scanner;
     2 
     3 /**
     4  * @author Shelwin Wei
     5  * 分析过程请参照《闰平年简介及计算过程描述》,网址 http://www.cnblogs.com/shelwin/p/4923480.html
     6  */
     7 public class LeapAndCommonYear {
     8     
     9     /**
    10      * @param args
    11      * 使用Java语言编写的应用程序必须包含一个main()方法,修饰符public和static的顺序可以互换,但是依照Java惯例把public放在前面,参数名args不是
    12      * 固定的,开发者可以任意命名,但是习惯上使用args或argv。
    13      * main()方法是应用程序的入口,一个程序执行时会首先指定类的main()方法,再启动程序所需要的其他资源。main()方法接收一个字符串数据参数,实际上
    14      * 该参数提供了运行时系统向应用程序提供参数的途径。当然也可以不传递任何参数 —— 在实际开发中,该参数很少会使用到。
    15      */
    16     static public void main(String[] args) {
    17         
    18         /* 关于Scanner类的介绍请参考网址
    19          * http://bbs.itheima.com/thread-90856-1-1.html
    20          */
    21         Scanner scan = new Scanner(System.in);
    22         String input;
    23         int year;
    24         
    25         while(true) {
    26             System.out.print("请输入年份(0表示退出):");
    27             try {
    28                 input = scan.nextLine();
    29                 year = Integer.parseInt(input);    //类型转换,关于该方法的介绍请参考http://book.2cto.com/201308/31300.html
    30                 if (year == 0) {
    31                     //凡是属于IO流(I-input, O-output, IO流-输入流输出流)的类如果不关闭会一直占用资源,
    32                     //要养成好习惯用完就关掉,就好像你接水完了要关水龙头一样。
    33                     scan.close();
    34                     break; //退出while循环
    35                 }
    36                 else if (year < 0){
    37                     System.out.println("程序仅支持公元元年之后的年份,请重新输入...");
    38                     continue; //结束当前循环:不再执行while循环内下面的语句,从while循环开始处重新执行
    39                 } else {
    40                     //调用自定义函数CheckLeapYear,并传入实际参数(实参,注意与形参的区别)year,根据返回结果输出闰平年信息
    41                     if (CheckLeapYear(year) == true) {
    42                         System.out.println("公元" + year + "年是闰年");
    43                     } else {
    44                         System.out.println("公元" + year + "年是平年");
    45                     }
    46                 }
    47             }
    48             //catch捕获try{}程序块中的异常信息,此处主要用来监控类型转换语句 year = Integer.parseInt(input),如果类型转换失败,表示用户输入无效
    49             catch (Exception e) {
    50                 String error = "你此次输入无效,错误信息【" + e.getMessage() + "】";
    51                 System.out.println(error);
    52             }
    53         }
    54         
    55         System.out.print("程序成功退出!");
    56     }
    57     
    58     /**
    59      * @param year: 形式参数(形参),可以任意命名,如 nian、year1等,但要让别人看着容易懂
    60      * 如果year是闰年,则返回true;否则返回false
    61      */
    62     public static boolean CheckLeapYear(int year) {
    63         if (year % 4 != 0)
    64             return false;
    65         else if (year % 100 != 0)
    66             return true;
    67         else if (year % 400 != 0)
    68             return false;
    69         else if (year % 3200 != 0)
    70             return true;
    71         else if (year % 86400 != 0)
    72             return false;
    73         else
    74             return true;
    75     }
    76 
    77 }
  • 相关阅读:
    java_十进制数转换为二进制,八进制,十六进制数的算法
    vim常用命令 vim键盘布局
    百度HTTPS加密搜索有什么用?
    delete
    hadoop2的automatic HA+Federation+Yarn配置的教程
    MinGW GCC下sleep()函数问题
    delete
    8天学通MongoDB——第一天 基础入门
    8天学通MongoDB——第六天 分片技术
    8天学通MongoDB——第五天 主从复制
  • 原文地址:https://www.cnblogs.com/shelwin/p/4929366.html
Copyright © 2020-2023  润新知