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. Vue Component Registration All In One

    Vue Component Registration All In One Vue 注册自定义组件 <template> <div class="back-to-top-c ...

  2. Flipper & React Native

    Flipper & React Native Flipper Flipper是一款用于调试移动应用程序的出色开发人员工具,在Android和iOS社区中颇受欢迎. Flipper is a g ...

  3. Microsoft Lifecycle Policy

    Microsoft Lifecycle Policy The Microsoft Lifecycle Policy gives you consistent and predictable guide ...

  4. React Hooks +React Context vs Redux

    React Hooks +React Context vs Redux https://blog.logrocket.com/use-hooks-and-context-not-react-and-r ...

  5. how to delete the virtual dom that created in memory using js

    how to delete the virtual dom that created in memory using js const virtualDomConvert = (filename = ...

  6. Flutter 模拟youtube快进icon

    import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends State ...

  7. C++算法代码——你要乘坐的飞碟在这里[usaco]

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1056 题目描述 一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO. 这些不明 ...

  8. glibc内存管理那些事儿

    本文转载自glibc内存管理那些事儿 Linux内存空间简介 32位Linux平台下进程虚拟地址空间分布如下图: 进程虚拟地址空间分布 图中,0xC0000000开始的最高1G空间是内核地址空间,剩下 ...

  9. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  10. Linux下搭建RocketMQ环境

    Apache 官网: http://rocketmq.apache.org/ RocketMQ 的 Github 地址: English:https://github.com/apache/rocke ...