为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

2 回答

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    Exercises exe = new Exercises();
    System.out.print("请输入要计算的日期:"); // 2018-09-26
    int day = exe.getDay(input.next());
    System.out.println(day);
}

/**
 * 获取输入值所对应该年的第几天
 *
 * @param date
 * @return
 */
public int getDay(String date) {
    String[] ymd = date.split("-");
    int inputYear = Integer.valueOf(ymd[0]);
    int inputMonth = Integer.valueOf(ymd[1]);
    int inputDay = Integer.valueOf(ymd[2]);
    int day = 0; // 天数
    Exercises exe = new Exercises();
    for (int i = 1; i <= (inputMonth - 1); i++) {
        day = day + exe.getMonthLastDay(i, inputYear);
    }
    return day + inputDay;
}

/**
 * 获取每个月的天数
 *
 * @param month
 * @param year
 * @return
 */
public int getMonthLastDay(int month, int year) {
    int day = 31;
    switch (month) {
        case 4:
        case 6:
        case 9:
        case 11:
            day = 30;
            break;
        case 2:
            if (year % 400 == 0  || (year % 4 == 0 && year % 100 != 0)) { // 判断是否是闰年
                day = 29;
            } else {
                day = 28;
            }
            break;
    }
    return day;
}


0 回复 有任何疑惑可以回复我~
#1

猫骨_ 提问者

谢 大神
2018-09-28 回复 有任何疑惑可以回复我~

谢,大神

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

计算某个日子是该年的第几天

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信