本文主要是介绍Java小练--输入某年某月某天,判断这一天是这一年的第几天?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通过两个方法来判断某一天是这一年的第几天(以2023,8,7为例)
方法一:
import java.time.LocalDate;
import java.util.Scanner;/** 输入某年某月某天,判断这一天是这一年的第几天?* 输入:2023,8,7* 输出:219*/
public class demo1 {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);}}/*** @param datestr 日期字符串,格式为"2023,1,7"* @return*/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]);// 写法1LocalDate date =LocalDate.of(year, month, days);int ret = date.getDayOfYear();return ret;}
}
运行结果:
2023,8,7
219
方法二:
import java.time.LocalDate;
import java.util.Scanner;/** 输入某年某月某天,判断这一天是这一年的第几天?* 输入:2023,8,7* 输出:219*/
public class demo1 {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);}}/*** @param datestr 日期字符串,格式为"2023,1,7"* @return*/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();// 写法二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;}
}
运行结果:
2023,8,7
219
这篇关于Java小练--输入某年某月某天,判断这一天是这一年的第几天?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!