Javaのブルーブリッジカップを計算する学習アルゴリズムの質問の日数

質問は、トレーニングの日数を計算するためのアルゴリズム

要件: 
特定の日(**** ** **)の機能評価を書くには、今年の最初の数日間です。ヒント:閏年、閏年を検討するために、2月29日(:4の倍数が、100の倍数でない、または400の倍数うるう年条件)です。主な機能を記述し、日付を入力して、機能および出力をテストします。
入力フォーマット:
  プレス「YYYYのミリDD」日付入力フォーマット
出力フォーマットは:
  整数による演算結果を出力する
サンプル入力:
1990510
サンプル出力:
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