-->
当前位置:首页 > 题库 > 正文内容

程序填空题:判断两个日期的先后,计算间隔天数、周数

Luz3年前 (2022-06-15)题库2331
从键盘输入两个日期,格式如:2022-06-18。判断两个日期的先后,并输出它们之间间隔的天数、周数(不足一周按0计算)。

**输入样例1:**

2000-02-18
2000-03-15


**输出样例1:**

第一个日期比第二个日期更早
两个日期间隔26天
两个日期间隔3周


预备知识:通过查询Java API文档,了解Scanner类中nextLine()等方法、String类中split()等方法、Integer类中parseInt()等方法的用法,了解LocalDate类中of()、isAfter()、isBefore()、until()等方法的使用规则,了解ChronoUnit类中DAYS、WEEKS、MONTHS等单位的用法。

Java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = ;

String s1 = sc.nextLine();
String s2 = sc.nextLine();

String [] dateStr1 = s1.split("-");
String [] dateStr2 = s2.split("-");

int year1 = Integer.parseInt( dateStr1[0] );
int month1 = Integer.parseInt( dateStr1[1] );
int day1 = ;

int year2 = Integer.parseInt( dateStr2[0] );
int month2 = Integer.parseInt( dateStr2[1] );
int day2 = Integer.parseInt( dateStr2[2] );

LocalDate date1 = LocalDate.of(year1, month1, day1);
LocalDate date2 = ;

if( )
System.out.println("第一个日期比第二个日期更早");
else
System.out.println("第一个日期比第二个日期更晚");

long dayCount = ;
long weekCount = date1.until(date2, ChronoUnit.WEEKS);

System.out.println("两个日期间隔" + Math.abs(dayCount) + "天" );
System.out.println("两个日期间隔" + Math.abs(weekCount) + "周" );
sc.close();
}
}







答案:
第1空:new Scanner(System.in)

第2空:Integer.parseInt( dateStr1[2] )

第3空:LocalDate.of(year2, month2, day2)

第4空:date1.isBefore(date2)

第5空:date1.until(date2, ChronoUnit.DAYS)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。