1 /*14 【程序 14 求日期】
2 题目:输入某年某月某日,判断这一天是这一年的第几天?
3 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 3 时需考虑多加一天。
4 */
5
6 /*分析:
7 * 1、得到键盘上的数字,并以“.”间隔,分别将年月日存入year,month,day中
8 * 2、判断月份是几月,如果一月就直接访问日,如果2月就day+31,如果大于等于三月且小于等于8月,则31*month/2+30*(month-month/2)-3+day,
9 * 如果大于8月,则31*(month+1)/2+30*(month-(month+1)/2)-3+day
10 * 3、判断是否为闰年,如果是,再加1----闰年:四年一闰,百年不闰,四百年再闰
11 * */
12
13
14 package homework;
15
16 import java.util.Scanner;
17
18 public class _14 {
19
20 public static void main(String[] args) {
21 // 声明t,表示在哪儿一天
22 int t=0;
23 //从键盘得到年月日
24 Scanner sc=new Scanner(System.in);
25 System.out.println("请输入年月日,并以空格相间(如:2020 01 01):");
26 int year=sc.nextInt();
27 int month=sc.nextInt();
28 int day=sc.nextInt();
29 // System.out.println(year+"年"+month+"月"+day+"日"); //测试
30
31 if (month==1) {
32 t=day;
33 }
34 else if (month==2) {
35 t=day+31;
36 }
37 else if ((month>=3)&(month<=8)) {
38 t=31*month/2+30*(month-month/2-1)-2+day;
39 // System.out.println("大月:"+(month+1)/2+" 小月:"+(month-(month+1)/2-1)+" 天数:"+day);
40 // System.out.println("大月天数:"+31*(month)/2+" 小月天数:"+(30*(month-(month+1)/2-1)-2));
41 }
42 else if (month<=12) {
43 t=31*(month)/2+30*(month-(month+1)/2-1)-2+day;
44 // System.out.println("大月:"+(month)/2+" 小月:"+(month-(month+1)/2-1)+" 天数:"+day);
45 // System.out.println("大月天数:"+31*(month)/2+" 小月天数:"+(30*(month-(month+1)/2-1)-2));
46 }
47 else {
48 //保证月份正确-----暂时还不会异常捕获
49 }
50 // System.out.println(year+"年"+month+"月"+day+"日是这一年中的第"+t+"天");
51 //判断是否为闰年
52 if(((year%4==0)&(year%100!=0))||(year%400==0)){
53 t=t+1;
54 }
55 //还有判定月份,日期等是否合法,目前只能用if实现,不会异常捕获,暂时不写了
56 System.out.println(year+"年"+month+"月"+day+"日是这一年中的第"+t+"天");
57
58 }
59
60 }

java例题_14 该日期一年中的第几天问题的更多相关文章

  1. Java中Date()类 日期转字符串、字符串转日期的问题(已解决)

    Java中Date()类 日期转字符串.字符串转日期的问题 今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后将生成的值转为字符串, 然后再将转换后的字符串再次用new Date( ...

  2. 8.算法竞赛中的常用JAVA API :Calendar日期类

    8.算法竞赛中的常用JAVA API :Calendar日期类 摘要 在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法.Date类大部分方法已经 ...

  3. 关于Java中文乱码与日期格式

    关于Java中文乱码与日期格式 Java中文乱码的问题其实很普遍了,首先,一般不会在Windows平台下面出现,同时,一般在Tomcat应用服务器下也都正常,但是到了WebSphere,Weblogi ...

  4. Java longTime 和C#日期转换

    封装一下,可直接用. 以后碰到java的long time,直接使用DateTime dt=ConvertJavaDateTimeToNetTime(1207969641193);这样使用即可. 这串 ...

  5. Java longTime 和C#日期转换(结构+运算符重载)

    前几天,因为工作原因,连到了公司的一个java系统.查看数据的时候,突然整个人都不好了,数据库中日期字段时间为毛都是整型?之前从来没有接触过java,所心就趁机了解了一下.原来,在数据库中,保存的是j ...

  6. java计算两个日期相差多少天

    java计算两个日期相差多少天 public class DateUtil{ public static int betweenDays(Date startDate, Date endDate ) ...

  7. 深入理解Java常用类-----时间日期

    除了String这个类在日常的项目中比较常用之外,有关时间和日期的操作也是经常遇到的,本篇就讲详细介绍下Java API中对时间和日期的支持.其实在Java 8之前时间日期的API并不是很好用,以至于 ...

  8. java学习笔记之日期日历类

    java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...

  9. Java中用正则表达式判断日期格式是否正确

    1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...

随机推荐

  1. how to remove duplicates of an array by using js reduce function

    how to remove duplicates of an array by using js reduce function ??? arr = ["a", ["b& ...

  2. Chrome blocked third-party cookies

    Chrome blocked third-party cookies Chrome Incognito Chrome 无痕模式 https://support.google.com/chrome/an ...

  3. Taro Next

    Taro Next Taro 2.0 https://aotu.io/notes/2020/02/03/taro-next-alpha/index.html Taro Next 的迁移指南 https ...

  4. ES2020 All in One

    ES2020 All in One ES2020 new features / ES11 ES2020 中的10个新功能 1. BigInt BigInt是JavaScript中最令人期待的功能之一, ...

  5. css var & auto width css triangle

    css var & auto width css triangle https://codepen.io/xgqfrms/pen/PooeEbd css var https://codepen ...

  6. Flutter: debounce 避免高频率事件

    原文 函数 import 'dart:async'; Function debounce(Function fn, [int t = 30]) { Timer _debounce; return () ...

  7. PHP实现一个二维码同时支持支付宝和微信支付

    实现思路 生成一个二维码,加入要处理的url连接 在用户扫完码后,在对应的脚本中,判断扫码终端,调用相应的支付 若能够扫码之后能唤起相应app,支付宝要用手机网站支付方式,微信要使用jsapi支付方式 ...

  8. Union international INC:VR线下娱乐市场巨大

    联合国际公司认为众多企业追着VR的风口不断加码,导致VR在经历了一个爆炸式的发展,如今部分VR公司开始觉得日子不好过了,一个重要表现就是现金流紧张.VR如何能够普及,何时能够及早变现,成为业内关注的焦 ...

  9. PAUL ADAMS ARCHITECT LTD:拜登上台后,美国房地产走势如何?

    受全球经济危机影响,美国经济的复苏之路并不平坦,然而住宅房地产市场却是少数的例外,表现得非常亮眼.而随着美国拜登总统上台的临近,美国房产市场还会持续当前的发展吗?对于这个问题,近日,美国知名房地产公司 ...

  10. 精密进近OAS面的绘制与评估

    一.定义:精密进近OAS面(Obstacle Assessment Surface 障碍物评价面)是在精密进近程序中,用来对障碍物进行评估,找出影响运行标准的控制障碍物的一种计算方法. 二.构成 OA ...