Java输入某年某月某日,判断这一天是这一年的第几天?
分析:大家都知道,每年的总共日期,要么就是365天,要么就是366天,具体是取决于闰年还是平年,更确切的说就是每年二月是28天还是29天,归结到这个问题,有一个关键的认识点,就是求解这一年是闰年(366天)还是平年(365天)。
平年还是闰年计算算法:
1. 年份能被4整除,但不能被100整除;
2. 能被400整除
下面给出具体算法:
package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * 题目:输入某年某月某日,判断这一天是这一年的第几天? */ public class NaYiTian { public static void main(String[] args){ BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); try { //录入键盘的数据 String str=bf.readLine(); //分割年月日 String[] strArr=str.split("-"); int year=Integer.parseInt(strArr[0]); int month=Integer.parseInt(strArr[1]); int towMonth=28; //判断平年还是闰年 if((year%4==0&&year%100!=0)||(year%400==0)){ towMonth=29;//闰年多一天 } int totalDay=0; int[] months={31,towMonth,31,30,31,30,31,31,30,31,30,31}; //前几个月加上本月的天数 for(int i=0;i<months.length;i++){ if(month>=i+1){ if(month==i+1){ totalDay+=Integer.parseInt(strArr[2]); break; }else{ totalDay+=months[i]; } } } //输出结果 System.out.println(totalDay); } catch (IOException e) { e.printStackTrace(); } } }
来自微信公众号:编程社
程序员日常进阶宝典,欢迎关注!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」