用java写判断这一天是这一年的第几天?输入某年某月某日判断这一天是这一年的第几天?
import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入年份:"); int year = scanner.nextInt(); System.out.println("请输入月份:"); int month = scanner.nextInt(); System.out.println("请输入日期:"); int day = scanner.nextInt(); int daysOfYear = getDaysOfYear(year, month, day); System.out.println(year + "年" + month + "月" + day + "日是" + year + "年的第" + daysOfYear + "天"); }
/**
* 计算一个日期是这一年的第几天
* @param year 年份
* @param month 月份
* @param day 日期
* @return 这一年的第几天
*/
public static int getDaysOfYear(int year, int month, int day) {
int days = 0;
for (int i = 1; i < month; i++) {
days += getDaysOfMonth(year, i);
}
days += day;
return days;
}
/**
* 计算某年某月的天数
* @param year 年份
* @param month 月份
* @return 天数
*/
public static int getDaysOfMonth(int year, int month) {
int days = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
break;
default:
break;
}
return days;
}
}
原文地址: https://www.cveoy.top/t/topic/brhc 著作权归作者所有。请勿转载和采集!