计算一年的第几天

    xiaoxiao2023-11-15  170

    计算一年的第几天

    题目描述 今年的第几天?

    输入年、月、日,计算该天是本年的第几天。

    输入描述: 包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。 输出描述: 输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。 示例1 输入 1990 9 20 2000 5 1 输出 263 122 代码:

    import java.util.Scanner; public class Main { public static void main(String[]args) { Scanner sc=new Scanner(System.in); Main main=new Main(); while(sc.hasNext()){ int year=sc.nextInt(); int month=sc.nextInt(); int day=sc.nextInt(); int days=0; days=main.Days(year,month,day); System.out.println(days); } } public int Days(int year,int month,int day) { int days=0; for(int i=1;i<month;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) { days=days+31; } else if(i==2) days=days+28; else days=days+30; } if(((year%4==0&&year%100==0)||year%400==0)&&month>2) days=days+1; days=days+day; return days; } }

    说明如下:

    本解法直接用for循环完成,在此之前看到的许多解法都是switch或者数组等方式解决,几乎很少看到这种解法;本解法用while循环可以多次循环。总体来说,这是一道比较容易的题,并且代码可读性较强。 完毕 !!!
    最新回复(0)