【案例5-5】 二月天
【案例介绍】
1.任务描述
二月是一个有趣的月份,平年的二月有28天,闰年的二月有29天。本例要求编写一个程序,从键盘输入年份,根据输入的年份计算这一年的2月有多少天。在计算二月份天数时,可以使用日期时间类的相关方法实现。
2.运行结果
二月天的运行结果如图5-1所示
图5-1 二月天的运行结果图
【案例思路】
(1)分析任务描述可知,要实现此功能,首先程序要用键盘录入一个年份。可以使用Scanner类实现
(2)设置日历对象的年、月、日。
年:来自于键盘的输入;
月:设置为3月,因为我们需要计算2月的天数,可以通过3月1号推前一天就是2月的最后一天;
日:设置为1天。
(3)获取2月的天数并输出,将结果打印到控制台。
【案例实现】
二月天的实现代码,如文件5-1所示。
文件5-1 example5.java
- import java.time.LocalDate;
- import java.util.Scanner;
- public class example5 {
- public static void main(String[] args) {
- Scanner sc=new Scanner(System.in);
- System.out.println("请输入需要判断的年份:");
- int year=sc.nextInt();
- //实例化出需要判断年份的3月1日
- LocalDate of =LocalDate.of(year,3,1);
- //将3月1日减去一天得到2月的最后一天日期
- LocalDate newof = of.minusDays(1);
- System.out.println(year+"年的2月有"+newof.getDayOfMonth()+"天");
- }
- }
在文件5-1中,第5~6行代码用于获取键盘输入的数字。第9行代码用于设置日期的对象年、月、日。第11行代码用于计算二月的天数。3月1日往前推一天,就是2月的最后一天。第12行代码用于获取2月最后的一天并且输出。