package demo1;
import java.util.Scanner;
/*编写程序:从键盘上输入年月日,打印该日期对应这一年的第几天,如:
* 输入:2020 1 5
* 输出:2020-1-5是2020年的第5天
*/
public class test {
public static void main(String[] args) {
//1. 从键盘上获取年月日
Scanner date = new Scanner(System.in);
System.out.println("请输入年月日:");
int year = date.nextInt();
int month = date.nextInt();
int day = date.nextInt();
//计算日期对应这一年的第几天
int sumdays = getSumDays(year, month, day);
//打印该日期对应这一年的第几天
System.out.println(year + "年" + month + "月" + day + "日,是" + year + "年的第" + sumdays + "天");
}
//计算year-month-day日期对应year这一年的第几天:2018 09 10
private static int getSumDays(int year, int month, int day) {
// TODO Auto-generated method stub
//保存这个日期对应这一年的总天数
int days = 0;
//[1, month)之间整月的天数累加
for (int m = 1; m < month; m++) {
days += getMonthdays(year, m);
}
//month当月的天数累加
days += 10;
return days;
}
//返回year中month的天数
private static int getMonthdays(int year, int month) {
// TODO Auto-generated method stub
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
//闰年二月29天
//平年二月28天
if (leapYear(year)) {
return 29;
}
else {
return 28;
}
default:
break;
}
return 0;
}
//闰年判断方法
private static boolean leapYear(int year) {
// TODO Auto-generated method stub
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
}
return false;
}
}
JAVA程序:从键盘上输入年月日,判断是这一年中的第几天
最新推荐文章于 2023-02-27 15:06:30 发布