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

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

package com.test;

import org.junit.Test;

import java.util.Scanner;

/*
 *作者:郑兴源
 * 时间:2021年6月7日
 * */
public class demo4_f4 {
    
    
    //输入某年某月某日,判断这是这年的第几天????
    public static void main(String[] args) {
    
    
        Scanner input = new Scanner(System.in);
        System.out.println("请输入年份:");
        int year = input.nextInt();
        int sumday = 0;
        int count = 0;
        System.out.println("请输入月份:");
        int month = input.nextInt();
        if (month > 12 || month < 1) {
    
    
            System.out.println("月份输入错误!!!!");
        }
        System.out.println("请输入日期:");
        int day = input.nextInt();
        if (day > 31 || day < 1) {
    
    
            System.out.println("日期输入错误@@@");
        }
        for (int i = 1; i < month; i++) {
    
    
            if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
    
    
                sumday += 31;
            } else if (i == 4 || i == 6 || i == 9 || i == 11) {
    
    
                sumday += 30;
            } else if (i == 2) {
    
    
                if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
    
    
                    sumday += 29;
                } else {
    
    
                    sumday += 28;
                }
            }
        }
        count = day + sumday;
        System.out.println("今天是:\t" + year + "年" + month + "月" + day + "日" + "\t" +
                +year + "已经过去了\t:  " + count + "  day!");
    }

    //校验天数是否正确
    @Test
    public void methods() {
    
    
        System.out.println(31 + 28 + 1);

    }
}

效果图

本代码还存在缺陷
比如:输入错误月份 month >12 || month <1 程序应该直接退出,但是程序依旧执行!!

正确输入日期,运行结果正确

作者:wildkid、
时间2021年6月7日

Guess you like

Origin blog.csdn.net/m0_45256755/article/details/117668982