问题:* 输入某年某月某天,判断这一天是这一年的第几天
* 输入:2023,8,7
* 输出:219
步骤:1.先用Scanner语句读取输入,输入的是某年某月某天。
2.切割字符串
3.提取出"年月日"
4.以下两种计算方式
5.判断2月是否为闰年
public class Demo01 {
public static void main(String[] args) {
try(Scanner input=new Scanner(System.in)){
String line=input.nextLine();
int result=getDayOfYear(line);
System.out.println(result);
}
}
public static int getDayOfYear(String dateStr) {
//切割字符串
String[]array= dateStr.split(",");
//提取出"年月日"
int year=Integer.parseInt(array[0]);
int month=Integer.parseInt(array[1]);
int days=Integer.parseInt(array[2]);
//写法1
// LocalDate date=LocalDate.of(year, month, days);
// int ret=date.getDayOfYear();
// return ret;
//写法2
int[] arr= {31,28,31,30,31,30,31,31,30,31,30,31};
//判断闰年
if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0) {
arr[1]++;//闰年的2月有29天
}
int ret=0;
for(int i=0; i<=month - 2; i++) {
ret += arr[i];
}
ret+=days;
return ret;
}
}
运行结果: