158 - 打印双休日
Time Limit: 1000 Memory Limit: 65535
Submit: 386 Solved: 255
Description
输入年份和月份,打印当月所有双休日日期,打印格式为:“2018-06-16”
Input
年份和月份
Output
双休日日期
Sample Input
2018 6
Sample Output
2018-06-02
2018-06-03
2018-06-09
2018-06-10
2018-06-16
2018-06-17
2018-06-23
2018-06-24
2018-06-30
HINT
Pre Append Code
Post Append Code
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Main {
public static void main(String []args) throws ParseException {
Scanner scan = new Scanner(System.in);
int year = scan.nextInt();
int mouth = scan.nextInt();//读入
String date0 = year+"-"+String.format("%02d", mouth)+"-";//string.format 是格式化字符串,mouth格式化为至少2位十进制整数 譬如int mouth = 5; 结果为05
int i;
for(i=1;i<31;i++){
String date1 = date0 + String.format("%02d", i);
if(isWeekend(date1)){
System.out.println(date1);
}
}
}
public static boolean isWeekend(String bDate) throws ParseException {
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();//使用Calendar.getInstance()不仅能获取当前的时间,还能指定需要获取的时间点,在项目应用中达到定时的作用
Date bdate = format1.parse(bDate);//将字符串转化为数组
cal.setTime(bdate);//将cal设置为bdate
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {//判断是否为周末
return true;
} else {
return false;
}
}
}