Java 跑步锻炼

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问

这段时间小蓝总共跑步多少千米?

题解

用到Calendar  API 现实例化一个Calendar对象,设置一个初始年月日,月份0-11,即set第二个参数的值范围,分别用day ,week, year, month四个int类型变量存储当前的年月日星期,根据题意判断,在执行完一次之后用.add()方法改变时间,本题是add(Calendar.DATE,1)使时间往后推一天,第一个参数变量是当前时间,第二个变量是时间量(天)。

package lanqiaobei.com.yjm.Simple;

import java.util.Calendar;


//跑步锻炼
//小蓝每天都锻炼身体。
//
//正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
//
//小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
public class RunExercise {
	public static void main(String[] args) {
		int sum = 0;
		Calendar c = Calendar.getInstance();
		c.set(2000,0,1);// 第一个变量为开始年;第二个变量为开始月份,1月份为0;第三个变量为开始所在月份天数;2000年1月1日
		while(true) {
			int day = c.get(Calendar.DAY_OF_MONTH);//获取设置时间的天
			int week = c.get(Calendar.DAY_OF_WEEK);//获取设置时间的星期
			int year = c.get(Calendar.YEAR);       //获取设置时间的年
			int month = c.get(Calendar.MONTH);     //获取设置时间的月
			if(day == 1||week == 2) {
				sum += 2;
			}else {
				sum += 1;
			}
			if(year == 2020 && month == 9 && day == 1) {
				System.out.println(sum);
				return;
			}
			c.add(Calendar.DATE,1);//执行相加相减时间量(天)
		}
	}
}

答案:8879

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值