【案例5-5】 二月天
【案例介绍】
1.任务描述
二月是一个有趣的月份,平年的二月有28天,闰年的二月有29天。闰年每四年一次,在判断闰年时,可以使用年份除以4,如果能够整除,则该年是闰年。
本例要求编写一个程序,从键盘输入年份,根据输入的年份计算这一年的2月有多少天。在计算二月份天数时,可以使用日期时间类的相关方法实现。
2.运行结果
运行结果→
请输入需要判断的年份:
2020
2020年的2月有29天
【案例任务】
- 学会分析“二月天”任务的实现思路。
- 根据思路独立完成“二月天”任务的源代码编写、编译及运行。
- 掌握在程序中使用日期类的使用。
- 掌握Scanner类中键盘输入的使用。
【案例思路】
(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月最后的一天并且输出。