题目描述:
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑1千米。如果某天是周一或者月初(1日),为了激励自己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。
小蓝跑步已经坚持了很长时间,从2000年1月1日周六(含)到2020年10月1日周四(含)。请问这段时间小蓝总共跑步多少千米?
package pastExamPaper;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/*
跑步锻炼(5分)
*/
public class Demo07 {
public static void main(String[] args) {
Calendar c1 = Calendar.getInstance();
SimpleDateFormat a = new SimpleDateFormat("yyyyMMdd");
//设置时间为2000年1月1日
c1.set(Calendar.YEAR, 2000);
c1.set(Calendar.MONTH, 0); //0-11
c1.set(Calendar.DATE, 1);
int sum = 2;
for ( int i = 1; i <= 10000; i++ ) {
c1.add(Calendar.DAY_OF_YEAR, 1);
sum++;
String date = a.format(c1.getTime());
char[] b = date.toCharArray();
if ( c1.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY || b[6] == '0' && b[7] == '1' ) {
sum++;
}
if (date.equals("20201001")){
break;
}
}
System.out.println(sum);
}
}