蓝桥杯 试题 算法训练 天数计算 Java

试题 算法训练 天数计算

要求: 
编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年,闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。编写主函数,输入年月日,测试该函数并输出结果。
输入格式:
  按“yyyy mm dd"的格式输入年月日
输出格式:
  输出一个整数形式的计算结果
样例输入:
1990 5 10
样例输出:
130
数据规模和约定:
  根据实际输入合法的日期

代码:

import java.util.Scanner;

public class 天数计算
{
	// 定义函数计算天数
	public static int Day(int year, int month, int day) {
		int sum = 0;
		for (int i = 1; i < month; i++)
		{
			switch (i)
			{
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				sum += 31;
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				sum += 30;
				break;
			case 2:
				//判断是否为闰年
				if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
				{
					sum += 29;
				} else
				{
					sum += 28;
				}
			default:
				break;
			}

		}
		//返回当前年的值
		return sum + day;
	}

	public static void main(String[] args) {
		//  编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年,
		// 闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。
		// 编写主函数,输入年月日,测试该函数并输出结果。
		Scanner sc = new Scanner(System.in);
		//输入年月日
		int year = sc.nextInt();
		int month = sc.nextInt();
		int day = sc.nextInt();
		System.out.println(Day(year, month, day));//调用函数并且输出
	}

}

样例输入:

1990 5 10

样例输出:

130
发布了8 篇原创文章 · 获赞 6 · 访问量 174

猜你喜欢

转载自blog.csdn.net/Hackergu/article/details/105057756
今日推荐