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

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(使用前将#替换为@)

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

  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 【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