题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。
小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?
代码解析如下:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
int year = 2000;//年份
int mon = 1;//月份
int day = 1;//号
int weekend = 6;//星期六
int km = 0;//公里数
int[] month = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//每个月对应多少天
while (true) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {//判断是否闰年
month[2] = 29;
} else {
month[2] = 28;
}
if (day == 1 || weekend == 1) {//月初或者周一
km += 2;
} else {
km += 1;
}
day++;
weekend++;
if (day > month[mon]) {
day = 1;
mon++;
if (mon > 12) {
mon = 1;
year++;
}
}
if (weekend > 7) {
weekend %= 7;
}
if (year == 2020 && mon == 10 && day == 1) {
km+=2;
break;
}
}
System.out.println(km);
}
}

这段代码计算了从2000年11月11日到2020年10月11日期间,小蓝每周跑步的距离。小蓝在周一或月初会跑22公里,其他日子跑11公里。最终总距离在代码中被输出。
556

被折叠的 条评论
为什么被折叠?



