计算日期到天数的换算

简介: 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

目录
相关文章
|
7月前
输入月份显示当月天数
输入月份显示当月天数
|
10天前
计算某年某月的天数
计算某年某月的天数
|
3月前
|
Linux C++ iOS开发
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
44 0
|
5月前
jeDate可提供选择日期不超过当前日期
jeDate可提供选择日期不超过当前日期
36 1
|
7月前
|
测试技术
统计天数
统计天数
|
8月前
计算日期到天数转换
计算日期到天数转换
54 0
|
8月前
7-1 时间换算(15分)
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
83 0
|
10月前
计算年月天数
计算年月天数
58 0
|
10月前
判断月份天数
判断月份天数
35 0
计算两个字符串类型的日期相差的天数或者小时数,计算日期字符串到今天的年龄
计算两个字符串类型的日期相差的天数或者小时数,计算日期字符串到今天的年龄
118 0