您的位置:首页 > 其它

输入某年某月某日,判断这一天是这一年的第几天?考虑闰年的情况

2015-05-14 15:09 633 查看
输入某年某月某日,判断这一天是这一年的第几天?考虑闰年的情况


import java.util.Scanner;

/**
*输入某年某月某日,判断这一天是这一年的第几天?考虑闰年的情况
*/
public class Test30 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n, y, r;// 定义年月日变量
System.out.println("please input year:");
n = sc.nextInt();
System.out.println("please input month");
y = sc.nextInt();
System.out.println("please input day");
r = sc.nextInt();
/*
* 限制数据范围,
*/
if (((y == 1) || (y == 3) || (y == 5) || (y == 7) || (y == 8)
|| (y == 10) || (y == 12))
&& r > 31 && r < 0) {
System.out.println("输入数据有误!");
} else if (((y == 4) || (y == 6) || (y == 9) || (y == 11)) && r > 30
&& r < 0) {
System.out.println("输入数据有误!");
} else {
if ((y == 2) && (r > 0 && r < 29)) {

/*
* 开始运算
*/

int sum = 0;// 定义总数
int[] date = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 };// 定义1-11月的天数
/*
* 求天数的总数
*/
for (int x = 0; x < y; x++) {
sum += date[x];
}
/*
* 判断是不是闰年
*/
if ((n % 400 == 0) || (n % 4 == 0) || (n % 100 == 0)) {
/*
* 这个月份大于2,
*/
if (y > 2) {
System.out.println("you input year is leap year");
System.out.println("you input year: " + n + " month:"
+ y + "day: " + r + "is this year the first: "
+ (sum + r + 1) + "day.");
} else {
System.out.println("you input year: " + n + " month:"
+ y + "day: " + r + "is this year the first: "
+ (sum + r + "day."));
}
} else
System.out.println("you input year: " + n + " month:" + y
+ "day: " + r + "is this year the first: "
+ (sum + r) + "day.");
}

else {
System.out.println("输入数据用误!");
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐