顺子日期(结果填空)

为了解决这个问题,我们需要遍历2022年的每一天,并检查日期的每一位数字以查找顺子。下面是一个Java程序,用于计算2022年中的顺子日期数量:

public class Main {public static void main(String[] args) {int count = 0;  for (int day = 1; day <= 365; day++) {  String date = String.format("%d22%02d%02d", 20, 1 + (day - 1) / 31, (day - 1) % 31 + 1);  System.out.print(date.toString());if (isShunziDate(date)) {  count++;  }  }  System.out.println("Total shunzi dates in 2022: " + count);  }  private static boolean isShunziDate(String date) {  for (int i = 0; i <= date.length() - 3; i++) {  int first = date.charAt(i) - '0';  int second = date.charAt(i + 1) - '0';  int third = date.charAt(i + 2) - '0';  if (second == first + 1 && third == second + 1) {  return true;  }  }  return false;  }    
}

在上面的代码中,isShunziDate 方法检查给定的日期字符串是否包含顺子。我们遍历日期字符串的每一位,并检查当前位、下一位和再下一位是否构成顺子(即当前位+1等于下一位,下一位+1等于再下一位)。

main 方法则遍历2022年的每一天,构造出对应的日期字符串,并调用 isShunziDate 方法来检查。如果某一天的日期字符串包含顺子,则将计数器 count 增加1。

最后,程序输出2022年中顺子日期的总数。

请注意,这个程序假设2022年每个月的天数是固定的(即1月31天,2月28天,3月31天等),这在通常情况下是成立的,因为2022年不是闰年。如果需要更精确的处理(例如,考虑闰年2月有29天的情况),可以改用java.time包中的LocalDate类来生成日期。

运行上述程序,你将得到2022年中顺子日期的总数。你只需要提交这个整数作为答案即可。


解释String date = String.format("%d022%02d%02d", 20, 1 + (day - 1) / 31, (day - 1) % 31 + 1);

这行代码用于生成一个形如 2022MMDD 的日期字符串,其中 MM 代表月份,DD 代表日。这行代码是为了遍历2022年的每一天,而不仅仅是考虑每个月的实际天数。

具体来说,String.format 是一个用于格式化字符串的方法。在这个例子中,它使用三个参数来生成一个字符串。

  1. "%d22%02d%02d" 是格式字符串。

    • %d 表示一个整数,会替换为后面提供的参数。
    • 22 是字面量,直接包含在结果字符串中。
    • %02d 表示一个至少两位的整数,不足两位时前面用0填充。
  2. 20 是第一个 %d 的替换值,因此它会直接输出为 20

  3. 1 + (day - 1) / 31 用于计算月份。

    • day - 1 是当前循环的索引(从0开始),减1是为了从1开始计数。
    • (day - 1) / 31 实际上是将天数除以31(一个月的最大天数),从而得到月份。这里假设每个月都是31天,这在实际情况中是不准确的,但在这个特定问题中,我们只需要一个从1到12的连续数字来表示月份,因此这个简化是可行的。
    • 1 + ... 是因为我们需要从1开始计数月份,而不是从0开始。
  4. (day - 1) % 31 + 1 用于计算日期。

    • (day - 1) % 31 使用模运算(取余)来得到当前天在“当前月”(实际上是按31天一个周期计算的)中的位置。
    • + 1 是为了从1开始计数日期,而不是从0开始。

因此,这行代码为2022年的每一天生成一个字符串,即使它不是按照实际的月份天数来生成的。例如,当 day 为32时,生成的日期字符串将是 20220201,尽管在现实中2月并没有32天。但是,由于我们只关心顺子的存在性,而不是日期的实际有效性,这种简化是允许的。

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

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

相关文章

[StartingPoint][Tier0]Preignition

Task 1 Directory Brute-forcing is a technique used to check a lot of paths on a web server to find hidden pages. Which is another name for this? (i) Local File Inclusion, (ii) dir busting, (iii) hash cracking. (目录暴力破解是一种用于检查 Web 服务器上的大…

leetcode代码记录(有效的字母异位词

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断它们是不是一组变位词&#xff08;字母异位词&#xff09;。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同且字符顺序…

【简单讲解下epoll】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

循环神经网络:揭秘长期记忆的魔法之源

在人工智能和机器学习领域&#xff0c;循环神经网络&#xff08;Recurrent Neural Networks&#xff0c;简称RNN&#xff09;以其独特的架构和机制&#xff0c;在处理序列数据方面展现出了强大的能力。特别值得一提的是&#xff0c;RNN能够学习到长期的记忆&#xff0c;这使得它…

ubuntu-server部署hive-part1-安装jdk

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本&#xff1a;ubuntu-server-22.04.3 虚拟机&#xff1a;virtualbox7.0 安装jdk 上传解压 以root用户&#xff0c;将jdk上传至/opt目录下 tar zxvf jdk-8u271-linux-x64.tar.gz 配置环境变量…

网址打包微信小程序源码 wap转微信小程序 网站转小程序源码 网址转小程序开发

内容目录 一、详细介绍二、效果展示2.效果图展示 三、学习资料下载 一、详细介绍 我们都知道微信小程序是无法直接打开网址的。 这个小程序源码提供了一种将网址直接打包成微信小程序的方法&#xff0c; 使得用户可以在微信小程序中直接访问这些网址内容。 这个源码没有进行加…

律所如何做好内容运营,提升品牌影响力

近年来&#xff0c;随着品牌推广方式的改变&#xff0c;中国律所也开始关注内容营销&#xff0c;期待能够凭借内容营销增强影响力。今天&#xff0c;媒介盒子就从内容传播的逻辑出发&#xff0c;和大家聊聊律所如何做好内容运营&#xff0c;提升品牌影响力。 一、品牌形象管理 …

蜂窝物联:智慧禽畜养殖解决方案

蜂窝物联&#xff1a;智慧禽畜养殖解决方案是基于物联网技术&#xff0c;在线监测动物生长的环境信息&#xff0c;通过氨气传感器、二氧化碳传感器、湿度传感器等设备监测舍内的各项环境参数&#xff0c;自动把畜舍内的实时环境参数上传至监控软件平台&#xff0c;并联动控制风…

C++11特性详解(万字)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 统一的初始化列表 {}初始化 这种初始化方式我们建议用第一种&#xff0c;但是以后看见下面两种也不要感到疑惑&#xff0c;是可以这样初始化的。 内置类型初始化 int main() {int a 1;int b { 1 };int c{ 1 };return 0…

kubectl explain资源文档命令

学习并使用了一段时间的kubernetes&#xff0c;发现对k8s还是了解甚少&#xff0c;于是利用上下班通勤的时间又去B站看一些大佬的视频&#xff0c;又来重学巩固一遍知识&#xff0c;并做些记录。 之前在学习使用过程中未成了解过explain这个命令&#xff0c;因为自己部署的版本…

Java笔试题总结

HashSet子类依靠()方法区分重复元素。 A toString(),equals() B clone(),equals() C hashCode(),equals() D getClass(),clone() 答案:C 解析: 先调用对象的hashcode方法将对象映射为数组下标,再通过equals来判断元素内容是否相同 以下程序执行的结果是&#xff1a; class X{…

Linux:权限篇

文章目录 前言1.用户2.文件的权限管理2.1 修改文件的权限2.2 修改文件的拥有者2.3 修改文件的所属组 3.file指令4.umask指令4.目录的权限管理总结 前言 Linux权限在两个地方有所体现&#xff0c;一种是使用用户&#xff1a;分为root超级用户员与普通用户。另一个是体现在文件的…

【数据结构与算法】力扣 24. 两两交换链表中的节点

题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a; head [1,2,3,4] 输出&#…

IDEA2023创建SpringMVC项目

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 开发环境篇 ✨特色专栏&#xff1a; M…

Linux使用docker集群部署

目录 一&#xff0c;环境准备 1.1.安装docker 1.2.配置镜像就加速器 二&#xff0c;docker部署 2.1.创建网络 ​编辑 2.2.安装redis 2.3.安装MySQL 2.4.安装JDK,TomCat及部署后台项目 2.5.安装Nginx及配置静态资源 一&#xff0c;环境准备 1.1.安装docker 安装yum-u…

Spring Boot-01-通过一个项目快速入门

官方参考文档&#xff1a;Spring Boot Reference Documentation 0. 概述 Spring的缺点&#xff1a; 1. 配置繁琐&#xff1a;虽然Spring的组件代码是轻量级&#xff0c;但它的配置却是重量级的。 2. 依赖繁琐&#xff1a;项目的依赖管理也是一件耗时耗力的事情。分析要导入哪…

动手学深度学习 | Jupyter Notebook 打开指定目录

目录 1 下载课件代码 2 在目录中打开 3 展示目录失败 3.1 问题分析 3.2 问题解决 ⚠️ 写在前面&#xff1a; 无语子&#xff0c;打开个目录花了我一天时间下文中提到的 “d2l-zh” 和 “pytorch” 均为目录名jupyter notebook 的安装请参考其它博客 1 下载课件代码…

计算机出现msvcr110.dll丢失是什么意思?七种方法解决msvcr110.dll丢失

msvcr110.dll文件是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;由Microsoft Corporation开发。它是Visual C Redistributable for Visual Studio 2012的必要部分&#xff0c;包含了C运行时库函数的代码&#xff0c;这些函数为执行C/C应用程序提供了基础服务。这…

基于Socket简单的TCP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看&#xff1a;Linux操作系统入门 ⭐代码仓库&#xff1a;Linux代码仓库 ❤关注我一起讨论和学习Linux系统 TCP单例模式的多线程版本的英汉互译服务器 我们先来认识一下与udp服务器实现的不同的接口&#xff1a; TCP服务器端 socket()&…

设置你的第一个React应用

目录 一、React入门 1.1 你好React 1.2 创建React 1.3 应用结构 二、总结 2.1 定义组件 2.2 组件源码 三、组件详解 注意事项 3.1 组件三部曲 3.2 组件通信 —— props 3.3 对象数组迭代 —— map() 3.4 事件处理 3.5 钩子函数 —— useState() 初次学习最终效果…