212 Date案例/二月天
【需求】
获取任意一年的二月的天数
【思路】
---工作细分---
1.键盘录入任意年份
2.设置日历对象的年、月日
年:来自键盘录入
月:设置为3月,月份从0开始,故设置为2
日:1日
3.3月往前1天就是二月最后一天
4.获取二月的最后一天,输出
---代码思路---
1.键盘录入任意年份,Scanner
2.设置日历对象的年、月日
年:来自键盘录入,nextLine方法
月:设置为3月,月份从0开始,故设置为2,set方法,年份取键盘录入的值,月设置为2,日设置为1
日:1日
3.3月往前1天就是二月最后一天,add方法,设置的日期-1得出这一年的二月的最后一天
4.获取二月的最后一天,输出
--------------------------------------------------------------
(module)myCalender
(package)it03e212
(class)CalenderTest
--------------------------------------------------------------
我的代码
package it03e212;
import java.util.Calendar;
import java.util.Scanner;
public class CalenderTest {
public static void main(String[] args) {
System.out.println("请录入你要查询的年份");
Scanner sc = new Scanner();
String s = sc.nextLine();
int year = (int)s;
Calendar c = Calendar.getInstance();
int month = c.set(year,2,1);
int date2 = c.add(Calendar.DATE-1);
System.out.println("这一年的二月份有:"+date2+"天");
}
}
--------------------------------------------------------------
我的代码改良版
package it03e212;
// 1.键盘录入任意年份,Scanner
// 2.设置日历对象的年、月日
// 年:来自键盘录入,nextLine方法
// 月:设置为3月,月份从0开始,故设置为2,set方法,年份取键盘录入的值,月设置为2,日设置为1
// 日:1日
// 3.3月往前1天就是二月最后一天,add方法,设置的日期-1得出这一年的二月的最后一天
// 4.获取二月的最后一天,输出
import java.util.Calendar;
import java.util.Scanner;
public class CalenderTest {
public static void main(String[] args) {
System.out.println("请录入你要查询的年份");
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
Integer i = Integer.valueOf(s);
int year = i.intValue();
Calendar c = Calendar.getInstance();
c.set(year,2,1);
c.add(Calendar.DATE,-1);
int date2 = c.get(Calendar.DATE);
System.out.println("这一年的二月份有:"+date2+"天");
}
}