题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int year = in.nextInt(); int month = in.nextInt(); int day = in.nextInt(); //2023 2 13 31+13=44 whenThday(year,month,day); } } public static void whenThday(int y,int m,int d){ int run=28; int count=0; if((y%100==0&&y%400==0)||(y%100!=0&&y%4==0)){ run=29;//闰年时找一个29天的月份 } for (int i = 1; i < m; i++) {//从1月算到目标月 switch (i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: count+=31; break; case 2: count+=run;break; default: count+=30;break; } } System.out.println(count+d); } }
此题应该不难,关键是找闰年给闰月赋值。核心是输入一个日期,把到那天之前月份的天数都加起来再加上当月的天数,结果就是一年的第几天。