質問は、トレーニングの日数を計算するためのアルゴリズム
要件:
特定の日(**** ** **)の機能評価を書くには、今年の最初の数日間です。ヒント:閏年、閏年を検討するために、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