106. 跑步锻炼(结果填空)

public class Main {  public static void main(String[] args) {  int startYear = 2000;  int startMonth = 1;  int startDay = 1; // 周六  int endYear = 2020;  int endMonth = 10;  int endDay = 1; // 周四  int totalDistance = 0;  // 计算开始日期到结束日期之间的每一天  for (int year = startYear; year <= endYear; year++) {  for (int month = (year == startYear) ? startMonth : 1; month <= (year == endYear) ? endMonth : 12; month++) {  int daysInMonth = getDaysInMonth(year, month);  for (int day = (year == startYear && month == startMonth) ? startDay : 1;  day <= (year == endYear && month == endMonth) ? endDay : daysInMonth;  day++) {  // 检查是否是周一或者月初(1日)  if (day == 1 || isMonday(year, month, day)) {  totalDistance += 2;  } else {  totalDistance += 1;  }  }  }  }  System.out.println(totalDistance); // 输出总距离  }  // 获取某年某月的天数,考虑闰年  private static int getDaysInMonth(int year, int month) {  switch (month) {  case 2: // 2月  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {  return 29; // 闰年  } else {  return 28; // 非闰年  }  case 4:  case 6:  case 9:  case 11:  return 30;  default:  return 31;  }  }  // 判断某天是否是周一  private static boolean isMonday(int year, int month, int day) {  Calendar calendar = Calendar.getInstance();  calendar.set(year, month - 1, day); // 注意Calendar的月份是从0开始的  return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY;  }  
}

这段代码使用getDaysInMonth方法来获取每个月的天数,考虑了闰年的情况。isMonday方法用于判断某一天是否是周一。代码通过遍历从起始日期到结束日期之间的每一天,并根据题目的规则来计算总跑步距离。

请注意,在Java中,Calendar类的月份是从0开始的,因此在调用calendar.set方法时,需要将月份减1。此外,这段代码假设起始日期是周六,结束日期是周四,因此不需要对起始和结束日期进行额外的处理。如果起始或结束日期不是周末,那么可能需要额外的逻辑来处理这些边界情况。


这段代码定义了一个isMonday方法,用于判断给定的日期(年、月、日)是否是周一。下面是对这段代码的详细解释:

  1. 方法定义:

private static boolean isMonday(int year, int month, int day)

这个方法接收三个整数参数:year(年份)、month(月份)和day(日期)。方法的返回类型是boolean,即它会返回truefalse,表示给定的日期是否是周一。
2. 创建Calendar实例:

Calendar calendar = Calendar.getInstance();

Calendar是Java中用于处理日期和时间的类。Calendar.getInstance()方法返回当前日期和时间的Calendar`对象。
3. 设置日期:

calendar.set(year, month - 1, day);

这里,我们使用calendar.set方法来设置Calendar对象的日期。需要注意的是,Calendar类的月份是从0开始的,即1月对应的是0,2月对应的是1,依此类推。因此,我们需要将传入的month参数减1,以确保设置正确的月份。
4. 判断是否是周一:

return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY;

Calendar.DAY_OF_WEEK是一个字段,用于表示一周中的某天。它返回一个整数,其中Calendar.SUNDAY是1,Calendar.MONDAY是2,依此类推,直到Calendar.SATURDAY`是7。

calendar.get(Calendar.DAY_OF_WEEK)会返回calendar对象所表示的那一天的整数值。然后,我们检查这个值是否等于Calendar.MONDAY(即2)。如果相等,表示那天是周一,方法返回true;否则,返回false

综上所述,isMonday方法会根据传入的年、月、日参数来判断那天是否是周一,并返回相应的布尔值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LocalAI】(3):LocalAI本地使用Model gallery,对qwen模型进行配置,使用modescope源下载,本地运行速度快。特别简单!

1&#xff0c;关于localai LocalAI 是一个用于本地推理的&#xff0c;与 OpenAI API 规范兼容的 REST API。 它允许您在本地使用消费级硬件运行 LLM&#xff08;不仅如此&#xff09;&#xff0c;支持与 ggml 格式兼容的多个模型系列。支持CPU硬件/GPU硬件。 模型启动方法&am…

Spring与SpringBoot的区别

Spring是一个开源的Java应用程序框架&#xff0c;旨在简化企业级Java应用程序的开发。它提供了一个轻量级的容器&#xff0c;用于管理应用程序中的各个组件&#xff08;如依赖注入、AOP等&#xff09;&#xff0c;并提供了丰富的功能和模块&#xff0c;用于处理数据库访问、事务…

Acwing.4009 收集卡牌(期望dp)

题目 小林在玩一个抽卡游戏&#xff0c;其中有 n种不同的卡牌&#xff0c;编号为 1到 n。 每一次抽卡&#xff0c;她获得第 i种卡牌的概率为 pi。 如果这张卡牌之前已经获得过了&#xff0c;就会转化为一枚硬币。 可以用 k枚硬币交换一张没有获得过的卡。 小林会一直抽卡&…

【ZZULIOJ】1055: 兔子繁殖问题(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 这是一个有趣的古典数学问题&#xff0c;著名意大利数学家Fibonacci曾提出一个问题&#xff1a;有一对小兔子&#xff0c;从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又…

【2024】elasticsearch的安装及使用建议

为了方便本节将使用docker部署Elasticsearch&#xff0c;以下简称es。 Elasticsearch 1.基础理论部分1.1.简单介绍一下es1.2.es的基本概念和相关术语 2.elasticsearch安装部分3.elasticsearch配置及建议 1.基础理论部分 1.1.简单介绍一下es Elasticsearch是一个开源的、分布…

智能面试——录音及播放下载js-audio-recorder — post请求,formdata传参

录音插件 js-audio-recorder bug&#xff1a;本地调试调取不起来麦克风 浏览器配置安全域名 chrome://flags/Insecure origins treated as secure输入域名即可电脑需要连接上耳机 <template><div class"BaseRecorder"><div class"BaseRecorder-r…

C++递归递推混合

昆虫繁殖 题目描述&#xff1a;科学家在热带森林中发现了一种特殊的昆虫&#xff0c;这种昆虫的繁殖能力很强。每对成虫过x个月 产y对卵&#xff0c;每对卵要过两个月长成成虫。假设每个成虫不死&#xff0c;第一个月只有一对成虫&#xff0c;且卵 长成成虫后的第一个月不产卵…

【UE5 C++】各个头文件的含义

#pragma once 预处理程序指令 作用&#xff1a;保护同一个文件不会被多次包含&#xff0c;使得头文件只会被编译一次&#xff0c; #include “CoreMinimal.h” 包含了一套来自UE4的核心编程环境的普遍存在类型 #include “GameFramework/GameModeBase.h” 基于GameModeBas…

应急响应-挖矿脚本检测指南威胁情报样本定性文件清除入口修复

一、演示案例-挖矿样本-Win&Linux-危害&定性 危害&#xff1a;CPU拉满&#xff0c;网络阻塞&#xff0c;服务器卡顿等 定性&#xff1a;威胁情报平台上传解析分析&#xff0c;文件配置查看等windows样本 linux样本 二、演示案例-Linux-Web安全漏洞导致挖矿事件 某公司…

PyQt介绍——qrc资源文件使用介绍

使用介绍 在PyQt中&#xff0c;qrc文件是一种资源文件&#xff0c;用于将应用程序所需的资源&#xff08;如图像、音频文件、样式表等&#xff09;打包到一个单独的二进制文件中&#xff0c;以便在运行时轻松地加载和访问这些资源。qrc文件是用XML格式编写的&#xff0c;其中包…

Harmony鸿蒙南向驱动开发-Watchdog

看门狗&#xff08;Watchdog&#xff09;&#xff0c;又称看门狗计时器&#xff08;Watchdog timer&#xff09;&#xff0c;是一种硬件计时设备。一般有一个输入、一个输出&#xff0c;输入叫做喂狗&#xff0c;输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看…

PTA 2813:画家问题 (熄灯问题)

PTA 2813&#xff1a;画家问题 &#xff08;熄灯问题&#xff09; 经典的熄灯问题&#xff0c;思路就不过多阐述&#xff0c;csdn都有 #include <bits/stdc.h> using namespace std; int num[20]; int num2[20]; int main() {int n;cin >> n;for (int i 1; i <…

RobotFramework测试框架(11)--变量文件

Variable files包含的variables可以用于test data中&#xff08;即测试用例&#xff09;中。Variables可以使用Variables section或者从命令行设置。 但是也允许动态创建。 变量文件通常使用模块实现&#xff0c;有两种实现方式。 1、直接从模块中获取变量 变量被指定为模块…

【带源码】如何开发一个视频打赏,付费观看视频的系统?

【带源码】如何开发一个视频打赏&#xff0c;付费观看视频的系统&#xff1f;开发指南来了 最近非常火爆的视频打赏系统&#xff0c;有用户端&#xff0c;管理端&#xff0c;代理端 风口来了&#xff0c;系统部署简单&#xff0c;需要详细部署教程的可以留下评论哦&#xff01…

Calico IPIP和BGP TOR的数据包走向

IPIP Mesh全网互联 文字描述 APOD eth0 10.7.75.132 -----> APOD 网关 -----> A宿主机 cali76174826315网卡 -----> Atunl0 10.7.75.128 封装 ----> Aeth0 10.120.181.20 -----> 通过网关 10.120.181.254 -----> 下一跳 BNODE eth0 10.120.179.8 解封装 --…

“FM”、“AM”信号如何解调?

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

陷波器(带阻滤波器)

非广&#xff0c;为了不赘述&#xff08;器件介绍&#xff09; 陷波器是带阻滤波器的一种&#xff08;与带通滤波器正好相反&#xff0c;带通是保持指定频率的信号&#xff0c;而带阻滤波器是阻挡指定频率的信号&#xff09;&#xff0c;通过设置相应的滤波器参数&#xff0c;…

蓝桥杯 每日2题 day4

碎碎念&#xff1a;好难好难&#xff0c;&#xff0c;发呆两小时什么也写不出来&#xff0c;&#xff0c;&#xff0c;周六大寄了 10.阶乘约数 - 蓝桥云课 (lanqiao.cn) 暴力跑了两个小时没出来结果&#xff0c;&#xff0c;去看题解要用数学&#xff1a;约数定理&#xff0c…

Python中调用函数简洁方法

直接上代码 def func1():print("func1")def func2():print("func2")def func3():print("func3")def func4():print("func4")func_list [func1, func2, func3, func4]for func in func_list:func()结果如下 func1 func2 func3 func4如…

pygame发射子弹后绘制射线

import pygame import sys import mathpygame.init()screen pygame.display.set_mode((800, 600)) pygame.display.set_caption("Rotate and Shoot Bullets")# 定义子弹类 class Bullet:def __init__(self, x, y, angle):self.x xself.y yself.angle angleself.s…