输入某年某月某日,判断这一天是这一年的第几天?(Java)

发布时间:2024年01月23日
思路:
1,分别定义三个变量来接收 年  月  日
2,累加已经过完的月份的天数 + 日期
3,二月份的天数要根据是否是闰年,随之改变
1 3 5 7 8 10 12  ---> 31天
4 6 9 11         ---> 30天
2                ---> 闰年:29  平年:28

代码:

public class YearMonthDay {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = sc.nextInt();
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        System.out.println("请输入几日:");
        int day = sc.nextInt();
        int sum =0;

        for (int i=1;i<month;i++){ //i是已经过完的月份
            if (i==1 || i==3 || i==5|| i==7||i==8||i==10||i==12){
                sum+=31;
            } else if (i==2) {
                if((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)){
                    sum+=29;
                }else {
                    sum+=28;
                }
            }else {
                sum+=30;
            }
        }
        sum+=day;
        System.out.println(year+"-"+month+"-"+day+"是当前年的第"+sum+"天");

????????}

}

?效果图:

?这是初级阶段的求法,学过?LocalDate的可以直接用?LocalDate求一年中的第几天

?public class Main {

????????public static void main(String[] args) {

????????????????// 创建一个 LocalDate 对象,表示特定的日期 ???????????????

?????????????????LocalDate date = LocalDate.of(2024, 1, 23);

????????????????// 获取一年中的第几天

????????????????int dayOfYear = date.getDayOfYear(); System.out.println("Day of year: " + dayOfYear);

????????}

}

文章来源:https://blog.csdn.net/z1561599530b/article/details/135791759
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。