问题:输入某年某月某日,判断这一天是这一年的第几天?
求解思路:假如以3月8日为例,应该先把前两个月天数加起来,然后再加上8天即为本年的第几天,需要考虑闰年且输入月份大于3时需考虑多加一天。
求解代码:
import java.util.Scanner;
public DayCounts{
public static void main(String[] args){
int day=0;
int month=0;
int year=0;
int sum=0;
System.out.println("请输入年,月,日");
Scanner input = new Scanner(System.in);
year=input.nextInt();
month=input.nextInt();
day=input.nextInt();
int[] days={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
sum=day;
for (int i = 1; i < =month; i++) { //加上包含的月份天数
sum += arr[i-1];
}
if((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) && (month > 2)){
sum=sum+1;
}
System.out.println("它是这一年的第:"+sum+"天");
}
}
如果感兴趣的话,可以尝试着把输入数据改成字符串(如输入20180603),再截取不同的部分当做年、月、日进行判断。