编写程序: 从键盘分别输入年、月、日,判断这一天是当年的第几天

2023-11-18

编写程序: 从键盘分别输入年、月、日,判断这一天是当年的第几天
    注:判断一年是否是闰年的标准
    1)可以被4整除,但不可被100整除或
    2)可以被400整除
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int februaryDay = 28;
        while (true){
            System.out.println("请输入year:");
            int year = sc.nextInt();
            System.out.println("请输入month:");
            int month = sc.nextInt();
            System.out.println("请输入day:");
            int day = sc.nextInt();

            if (year <= 0){
                System.out.println("您输入的年份有误!");
            }else if ((year % 4 ==0 && year % 100 != 0) || year % 400 ==0){
                //闰年
                if (month == 1 || month == 3 || month == 5 || month== 7 || month == 8 || month == 10 || month == 12){
                    if (day > 0 && day <= 31){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else if (month == 2){
                    if (day > 0 && day <= 29){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else if (month == 4 || month == 6 || month == 9 || month== 11){
                    if (day > 0 && day <= 28){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else {
                    System.out.println("您输入的月份有误!");
                }
            }else {
                //非闰年
                if (month == 1 || month == 3 || month == 5 || month== 7 || month == 8 || month == 10 || month == 12){
                    if (day > 0 && day <= 31){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else if (month == 2){
                    if (day > 0 && day <= februaryDay){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else if (month == 4 || month == 6 || month == 9 || month== 11){
                    if (day > 0 && day <= 28){
                        date(year,month,day);
                        break;
                    }else {
                        System.out.println("您输入的日期有误!");
                    }
                }else {
                    System.out.println("您输入的月份有误!");
                }

            }

        }

    }

    public static void date(int year,int month,int day){
        int sumDays = 0;
        switch (month){
            case 12:
                sumDays += 30;
            case 11:
                sumDays += 31;
            case 10:
                sumDays += 30;
            case 9:
                sumDays += 31;
            case 8:
                sumDays += 31;
            case 7:
                sumDays += 30;
            case 6:
                sumDays += 31;
            case 5:
                sumDays += 30;
            case 4:
                sumDays += 31;
            case 3:
                if ((year % 4 ==0 && year % 100 != 0) || year % 400 ==0){
                    sumDays += 29;
                }else {
                    sumDays += 28;
                }
            case 2:
                sumDays += 31;
            case 1:
                sumDays += day;
                break;
        }
        System.out.println(year+"年"+month+"月"+day+"日是"+year+"年的第"+sumDays+"天");
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写程序: 从键盘分别输入年、月、日,判断这一天是当年的第几天 的相关文章

  • 在 mvn 命令中指定 pom.xml 并混合其他项目的目标

    我有多个问题 我可以在 mvn 命令中指定 pom xml 吗 在当前项目上执行 mvn 命令时 我可以混合另一个项目的目标吗 例如 mvn clean otherproject comple otherproject install ot
  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • 如何在 Firebase 远程配置中从 JSON 获取值

    我是 Android 应用开发和 Firebase 的新手 我想知道如何获取存储在 Firebase 远程配置中的 JSONArray 文件中的值 String 和 Int 我使用 Firebase Remote Config 的最终目标是
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • 如何在 Antlr4 中为零参数函数编写语法

    我的函数具有参数语法 如下面的词法分析器和解析器 MyFunctionsLexer g4 lexer grammar MyFunctionsLexer FUNCTION FUNCTION NAME A Za z0 9 DOT COMMA L
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • Spring Boot自动装配存储库始终为空[重复]

    这个问题在这里已经有答案了 每次我进入我的服务类时 存储库似乎都没有自动连接 因为它不断抛出 NullPointerException 谁能帮我检查一下我缺少什么吗 这是我的代码 演示应用程序 java package com exampl
  • org.hibernate.QueryException:无法解析属性:文件名

    我正在使用休眠Criteria从列中获取值filename在我的桌子上contaque recording log 但是当我得到结果时 它抛出异常 org hibernate QueryException 无法解析属性 文件名 com co
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • Spring表单ModelAttribute字段验证避免400 Bad Request错误

    我有一个ArticleFormModel包含正常发送的数据html form由 Spring 使用注入 ModelAttribute注释 即 RequestMapping value edit method RequestMethod PO

随机推荐

  • 【MySQL数据库笔记 - 进阶篇】(二)索引

    个人博客 https blog csdn net Newin2020 spm 1011 2415 3001 5343 专栏地址 https blog csdn net Newin2020 article details 127933422
  • centos 7 jenkins安装

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 添加yum repos 安装 官方文档 https www jenkins io doc book installing linux red hat centos gt sud
  • MongoDB数据库

    MongoDB 一 简介 1 1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库 官方地址 https www mongodb com 1 2 数据库是什么 数据库 DataBase 是按照数据结构来组织 存储和管
  • Postman使用技巧-环境变量使用

    目录 一 下载安装Postman 二 添加环境与环境变量 三 环境变量使用方法 1 路径中使用变量 2 body中使用变量 3 调用接口前设置变量 4 调用接口后设置变量 一 下载安装Postman 下载安装过程不做赘述 本文章以9 3 1
  • SPWM逆变的原理分析与仿真

    1 单相半桥SPWM逆变电路 1 1 拓扑 下图是单相半桥SPWM逆变电路 含有两个开关管 桥臂中点和直流侧电容中点之间连接负载 输出电压 端口电压 是幅值为0 5Vdc的脉冲波形 1 2 输出电压分析 单相半桥电路的输出电压的主要频率成分
  • 关于QsciScintilla的快捷键设置原理

    经过调试跟踪发现 设置的组合键 修饰键可以是ctrl shift alt的组合 但是第二个键 只能是键值小于0x7f的 从qnamespace文件可知 该按键范围 Key Space Key AsciiTilde 期间包括了各种字母 那么如
  • Unity之自发光Emission效果

    小白欢迎评论 共同探讨 共同进步 写的博文零碎可能比较多 基本是学到啥了写啥 希望可以帮到各位童鞋 同时感谢我看过的各个论坛 博主 同事们的帮助 Unity之自发光Emission效果 很多人都会奇怪 为什么我选了自发光的颜色 强度也调整的
  • Android X86 解决ARM兼容的问题

    最近在Parallels Desktop上安装了64位的Android 9 x86 64 但是很多App只支持arm64 不支持Intel的x86 下面是解决办法 设置中 安卓x86设置 把三个全选上 端口映射5555到Android的55
  • 基于音频和文本的多模态语音情感识别(一篇极好的论文,值得一看哦!)

    基于音频和文本的多模态语音情感识别 语音情感识别是一项具有挑战性的任务 在构建性能良好的分类器时 广泛依赖于使用音频功能的模型 本文提出了一种新的深度双循环编码器模型 该模型同时利用文本数据和音频信号来更好地理解语音数据 由于情感对话是由声
  • EA 的类型/EA 智能交易的介绍(自动化交易/程序化交易/量化交易)

    EA 的类型 EA 智能交易的介绍 自动化交易 程序化交易 量化交易 EA 的类型 1 趋势类 最常见也是最成熟的类型 趋势类 最为主流的 EA 类型 一般根据各种指标和策略来进行出入场操作 2 网格类 网络类的特征 就是单子很多 而且浮亏
  • python引入同一目录下的py文件

    存在一个目录bert base 其中有两个文件 admin py和dealcode py 如果要在admin py中引用dealcode py 则在admin py文件中加一行 from bert base dealcode import
  • 老话新谈之缓存一致性

    前言 缓存一致性常见的更新策略也比较多 如先更新数据库再更新缓存 先删缓存再更新数据库等等 我在理解的时候有些混乱 所以这个文章提供了一些理解上的技巧去理解缓存一致性 为什么会有缓存一致性的问题 缓存与数据库是两套中间件 存在网络抖动之类的
  • java springBoot实现QQ机器人,定时发送信息,自动回复功能

    文末有源码链接 1 准备一个空白springBoot项目 自行百度创建 2 引入simple robot依赖
  • CUJ:标准库:Allocator能做什么?

    http dev csdn net Develop article 17 17946 shtm CUJ 标准库 Allocator能做什么 选择自 taodm 的 Blog http www cuj com experts 1812 aus
  • Qt QModbusTcpServer类

    1 概述 QModbusTcpServer类表示使用TCP服务器与Modbus客户端进行通信的Modbus服务器 Header include
  • 《动手学深度学习 Pytorch版》 3.6 softmax回归的从零开始实现

    import torch from IPython import display from d2l import torch as d2l batch size 256 batch size 设为256 train iter test it
  • PyQt5的tools目录下找不到designer解决方法

    问题描述 用pip安装 pyqt5 和 pyqt5 tools 后 在配置pycharm的external tools的时候找不到designer exe 尝试方法 重装sip pyqt5 以及pyqt5 tools 没有用 安装不同版本的
  • uniApp和微信小程序好看的我的页面(有源码)

    uniApp和微信小程序好看的我的页面 有源码 1 先睹为快 未登录状态 以登录 uniapp源码
  • ReID:Harmonious Attention Network for Peson Re-Identification 解读

    最近阅读了CVPR2018的这篇论文 Harmonious Attention Network for Peson Re Identification 论文还是比较容易理解的 下面就简单的解读一下 纯属个人观点 有不同意见的欢迎评论与我探讨
  • 编写程序: 从键盘分别输入年、月、日,判断这一天是当年的第几天

    编写程序 从键盘分别输入年 月 日 判断这一天是当年的第几天 注 判断一年是否是闰年的标准 1 可以被4整除 但不可被100整除或 2 可以被400整除 import java util Scanner public class Test