题目的主要信息:
- 输入任意年份,输出该年份各月天数
- 请使用 Calendar 类中的方法
具体做法:
Calender类中的DATE_OF_MONTH可以获取这个日期在这个月的第多少天,因此我们可以set设置每个月的年份月份和用0表示最后一天,这样调用c.get(c.DAY_OF_MONTH) 即可得到这个月的天数。
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 c = Calendar.getInstance(); //创建一个Calender实例
for (int month = 1; month <= 12; month++){ //从1月遍历到12月
c.set(year, month, 0); //设置年月日
System.out.println(year + "年" + month + "月:" + c.get(c.DAY_OF_MONTH) + "天"); //获取这天在这个月的天数
}
}
}
复杂度分析:
- 时间复杂度:,循环12次,常数时间
- 空间复杂度:,创建了一个Calender实例,常数空间