计算一年的第几天

博客围绕计算一年中某天是本年第几天的问题展开。给出题目描述、输入输出要求及示例,还展示了用Java实现的代码。该解法用for循环完成,用while循环实现多次输入,代码可读性强,与常见的switch或数组解法不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算一年的第几天

题目描述
今年的第几天?

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

输入描述:
包括三个整数年(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;
    }
}

说明如下:

  1. 本解法直接用for循环完成,在此之前看到的许多解法都是switch或者数组等方式解决,几乎很少看到这种解法;
  2. 本解法用while循环可以多次循环。
  3. 总体来说,这是一道比较容易的题,并且代码可读性较强。
    在这里插入图片描述
    在这里插入图片描述
    完毕 !!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值