使用一个switch语句,来完成这个程序的运行。具体的代码如下:

public class Demo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int year,month,day;System.out.println("请输入年份:");year = scanner.nextInt();System.out.println("请输入月份:");month = scanner.nextInt();System.out.println("请输入日期:");day = scanner.nextInt();switch (month-1){case 11:day += 30;case 10:day += 31;case 9:day += 30;case 8:day += 31;case 7:day += 31;case 6:day += 30;case 5:day += 31;case 4:day += 30;case 3:day += 31;case 2:if ((year%400 == 0)||(year%4 == 0 && year%100 != 0)){day +=29;}else {day +=28;}case 1:day += 31;}if (month>=1 && month<=12){System.out.println("今天是"+year+"年的第"+day+"天");}}
}

但是上面的代码并没有实现对日期的判断,假如我在2月下面输入了40号,程序还是会正常运行,所以需要对当前月份的具体日期做一个规范的判断,改良后的代码如下:

public class Demo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int year,month,day;int lemp =0;//作为判断平年还是闰年的变量int flag = 1;//作为日期是否符合规定的依据int[] array1 = new int[]{ 1 , 3 , 5,  7 , 8 , 10 , 12};int[] array2 = new int[]{ 4 , 6 , 9 ,11};System.out.println("请输入年份:");year = scanner.nextInt();if ((year%400 == 0)||(year%4 == 0 && year%100 != 0)) {lemp =1;}System.out.println("请输入月份:");month = scanner.nextInt();System.out.println("请输入日期:");day = scanner.nextInt();for (int i = 0; i < array1.length; i++) {if (month == (array1[i])&&day>31){System.out.println("日期不符合要求!");flag = 0;}}for (int i = 0; i < array2.length; i++) {if (month == (array2[i])&&day>30){System.out.println("日期不符合要求!");flag = 0;}}if (month==2&&((lemp==0&&day>28)||(lemp==1&&day>29))){System.out.println("日期不符合要求!");flag = 0;}if (flag==1){switch (month-1){case 11:day += 30;case 10:day += 31;case 9:day += 30;case 8:day += 31;case 7:day += 31;case 6:day += 30;case 5:day += 31;case 4:day += 30;case 3:day += 31;case 2:day +=28 + lemp;case 1:day += 31;default:if (month>=1 && month<=12){System.out.println("今天是"+year+"年的第"+day+"天");}else {System.out.println("月份不符合!请检查!");}break;}}}
}

在Java开发环境中,输入某年某月某日,判断这一天是哪一年的第几天。相关推荐

  1. Java开发环境中,使用GDAL进行矢量叠加,并计算面积

    GDAL与Springboot的集成可参考Springboot 集成GDAL开发环境配置 Java开发环境下,GDAL的相关学习和使用的案例还是非常少的,并且部分函数的使用方式和Python.C环境下 ...

  2. python输入某年某月某日判断这是第几天_Python编程实现输入某年某月某日计算出这一天是该年第几天的方法...

    本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法.分享给大家供大家参考,具体如下: #基于 Python3 一种做法: def is_leap_year(year): ...

  3. java那一年出来的_输入某年某月某日 判断其是那一年的第多少天

    [java]代码库Scanner scan = new Scanner(System. in); System. out .print("请输入年:" ); int year = ...

  4. Java练习15:输入某年某月某日,判断这一天是这一年的第几天?

    package com.qiqi.test1;import java.util.Scanner; /** 分析:* 1.从键盘获取日期的数据并存储在数组中* 2.判断是否是闰年* 3.计算本日期是本年 ...

  5. 开发环境中实现Lombok消除Java冗余

    Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.通过在开发环境中实现Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法以及以往 ...

  6. 在10分钟内在新Mac中设置Java开发环境(更新)

    这只是一个小的更新文章,它引用了2个较旧的条目( a , b ),我将它们合并为一个步骤,就像一步操作,并确保所有功能都在最新的MacOSX 10.9 Mavericks下工作 . 我主要针对的是初次 ...

  7. 在Windows 7中设置Java开发环境

    一段时间以来,我收到了很多愿意尝试Java语言的学生和人们的要求,它们提供了关于如何设置Java开发环境的简单指南,类似于我一年前写的那样. Mac用户. 看到这里和这里 . 因此,本文主要针对Jav ...

  8. linux搭建java开发环境_linux中搭建java开发环境

    今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装1.6 版本 cd /opt mkdir java 执行下面命令安装JDK(首先创建/opt/java目录) tar ...

  9. 上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境—颤抖吧,德玛西亚!!

    上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境-颤抖吧,德玛西亚!!! Visual Studio Code 下载安装 搭建小霸王游戏环境 VS code 中搭建 JAVA 开发 ...

  10. 平板中下载aidlux,配置java开发环境

    平板配置java开发环境详细过程 安装jdk 在vscode中下载Extension Pack For Java插件 在vscode中进行测试 安装jdk jdk下载地址,选择ARM64的jdk 将下 ...

最新文章

  1. Swift 3.1 的一些新特性
  2. Go语言的DES加密(CBC模式, ECB模式) ---- 与java加密互通(转)
  3. 计算最大回撤_量化扫盲:什么是最大回撤?
  4. spring environment_SpringBoot实战8-Spring基础-应用环境
  5. bert pytorch 序列标注_序列标注:Bi-LSTM + CRF
  6. 【转】4.1触碰jQuery:AJAX异步详解
  7. 化妆品包装新趋势|视觉模型样机包装模板,让你茅塞顿开
  8. JavaScript的浪漫,520一生一世!!
  9. 用最简单直白的人类语言解释下jsonP到底是什么鬼
  10. uiautomator使用中文参数
  11. 如何在EXCEL中锁定表格的某一行
  12. 中南大学数字中南、电信校园网无法弹出验证界面解决方法
  13. vs2015社区版有账号后仍然过期
  14. C语言的内存问题总结
  15. <EDEM 基础案例02>Rock Box
  16. ps怎么撤销参考线_ps打开辅助线的快捷键在哪,ps如何取消辅助线
  17. 韩信点兵python算法_韩信点兵算法
  18. WordPress插件:WP No Category Base 去除分类Category目录
  19. 剑桥A1-C2单词表-01
  20. 第三章网络介质计算题及其解析[计算机网络]

热门文章

  1. 微信公众平台服务号与订阅号区别详解
  2. python爬取58同城二手房信息_动手写爬虫(2):爬取58同城二手物品信息
  3. 用 snapper 轻松玩转 Btrfs 的快照功能
  4. 拼多多推广没有曝光怎么办?
  5. SWAN之ikev2协议crl-revoked配置测试
  6. PS把图片切成九宫格
  7. 编程序,用getchar函数读人两个字符给c1和c2,然后分别用
  8. Java8 新特性之stream
  9. c#日期转换英文月份
  10. 基本面量化与美林时钟模型