题意整理。
- 输入任意一个年份,输出该年内各个月份的天数。
方法一(循环)
1.解题思路
- 首先通过循环获取各个月份。
- 在每一轮循环中,设置年月日,然后通过getActualMaximum()方法,得到某个月日期的最大值,即是当前月的天数。
图解展示:
2.代码实现
import java.util.Calendar;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int year = console.nextInt();
//获取Calendar的实例
Calendar calendar=Calendar.getInstance();
//循环遍历所有的月份
for(int month=1;month<=12;month++){
//设置年、月、日
calendar.set(year,month,0);
//输出对应年份各个月的天数
System.out.println(year+"年"+month+"月:"+calendar.getActualMaximum(Calendar.DATE)+"天");
}
}
}
3.复杂度分析
- 时间复杂度:循环只需执行12次,所以时间复杂度为O(1)。
- 空间复杂度:不需要额外的空间,所以空间复杂度为O(1)。