题目描述
根据输入的日期,计算是这一年的第几天。。
详细描述:
输入某年某月某日,判断这一天是这一年的第几天?。输入描述:
输入三行,分别是年,月,日输出描述:
成功:返回outDay输出计算后的第几天;
失败:返回-1示例1
输入
2012
12
31
输出366
实现代码:
package cn.c_shuang.test10;
import java.util.Scanner;
/**
* 计算日期到天数转换
* @author Cshuang
*
*/
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int year=in.nextInt();
int month=in.nextInt();
int day=in.nextInt();
int[] arr={31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeap(year)){
arr[1]=29;//实际是2月
}
int sum=0;
for (int i = 0; i < month-1; i++) {
sum+=arr[i];
}
sum+=day;
System.out.println(sum);
}
in.close();
}
//一般的,能被4整除的年份是闰年,不能被4整除的年份是平年
//如果是世纪年(也就是整百年),就只有能被400整除才是闰年,否则就是平年.
public static boolean isLeap(int year){
if(year%4==0&&year%100!=0||year%400==0){
return true;
}else{
return false;
}
}
}