您的位置:首页 > 编程语言 > Java开发

JAVA常见算法题(十四)

2017-06-05 21:23 176 查看
package com.xiaowu.demo;

/**
* 输入某年某月某日,判断这一天是这一年的第几天?
*
*
* @author WQ
*
*/
public class Demo14 {
public static void main(String[] args) {
year(2017, 6, 5);
}

/**
*
* 平年2月28天,闰年2月29天.
* 年份数(末两位不是00)能被4整除的是闰年(如1988、1996)、年份数(末两位数是00的)能被400整除是也是闰年(如2000年,4000年).其余为平年.
*
*
*
* @param year
* @param month
* @param day
*/
public static void year(int year, int month, int day) {
int d = 0;
int days = 0;
if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
System.out.println("输入错误,请重新输入!");
}
for (int i = 1; i < month; i++) {
switch (i) {
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 % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
days = 29;
} else {
days = 28;
}
break;
}
d += days;
}
System.out.println(year + "年" + month + "月" + day + "日是" + year + "的第"
+ (d + day) + "天。");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: