计算日期到天数的换算

简介: 1.题目概述2.题解思路分析具体实现

1.题目概述

根据输入的日期,计算是这一年的第几天。


输入描述:


输入一行,每行空格分割,分别是年,月,日


输出描述:


输出是这一年的第几天


示例:


输入:1982 3 4

输出:63


2.题解

思路分析

将每个月的天数保存在一个数组中,若输入年份是闰年,则二月的天数+1,判断输入是否正确,若输入错误,则将天数置为-1,若输入正确,利用循环计算输入月份之前的天数,最后再加上输入的天数


具体实现

importjava.util.Scanner;
publicclassMain {
publicstaticvoidmain(String[] args) {
Scannerin=newScanner(System.in);
inty=in.nextInt();
intm=in.nextInt();
intd=in.nextInt();
intsum=date(y, m, d);
System.out.print(sum);
    }
publicstaticintdate(inty, intm, intd){
intsum=0;
//存储每月的天数int[] month= {0,31,28,31,30,31,30,31,31,30,31,30,31};
//判断输入是否正确if(y<=0||m<=0||m>12||d<=0||d>month[m]){
return-1;
        }
//判断是否为闰年if(y%400==0|| (y%4==0&&y%100!=0)){
month[2] +=1;
        }
//计算输入月份之前的天数for(inti=1; i<m; i++){
sum+=month[i];
        }
//加上输入的天数sum+=d;
returnsum;
    }
}


注:本题出自牛客网,链接如下:


https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded?tpId=37&&tqId=21296&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking%E3%80%81

目录
相关文章
|
26天前
获得月份天数
获得月份天数
38 4
|
28天前
【九度 03】两个日期之间的天数
【九度 03】两个日期之间的天数
58 0
|
6月前
指定月份计算最大天数
指定月份计算最大天数
|
6月前
日期工具,校验当年开始年份,结束年份,当月开始日期,结合素日期
日期工具,校验当年开始年份,结束年份,当月开始日期,结合素日期
|
6月前
计算某年某月的天数
计算某年某月的天数
50 0
|
6月前
|
Linux C++ iOS开发
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
97 0
|
12月前
jeDate可提供选择日期不超过当前日期
jeDate可提供选择日期不超过当前日期
79 1
计算日期到天数转换
计算日期到天数转换
126 0
7-1 时间换算(15分)
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
162 0