案例:二月天
-
需求:获取任意一年的二月有多少天
-
思路:
- 键盘录入任意年份
- 设置日历对象的年,月,日
- 年:来自于键盘录入
月:设置为3月,0代表是1月
日:设置为1日 - 3月1日往前推一天,就是2月的最后一天
- 获取这一天输出即可
代码所示:
package CCom.Cnn;
import java.util.Calendar;//需要导包
import java.util.Scanner;//需要导包
public class Demo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();//多态形式,通过子类的方法来new一个对象c
boolean flag=true;//做了个简单地优化
while(flag) {
Scanner s = new Scanner(System.in);
System.out.print("请输入需要的年份:");
if (s.hasNextInt()) {
int year = s.nextInt();
//设置年月日
c.set(year, 2, 1);//0是以1月开头
//1日的前一天就是上个月的所有天数,所以-1
c.add(Calendar.DATE, -1);
int i = c.get(Calendar.YEAR);
int i2 = c.get(Calendar.DATE);
System.out.println(i + "年" +"2月有" + i2+"天");
flag=false;
} else {
System.out.println("鸡你太美");
flag=true;
}
}
}
}
输出的内容:
请输入需要的年份:2000
2000年2月有29天