ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
这道题不想写的那么麻烦,就百度了一下.java有现成的API可以使用,这里"yyyy/MM/dd"中的M必须大写,否则解析失败,害了我找错误找了好久... 另外,scanner的next不能输入空格,他是以空格作为结束标志,而nextline则是以enter作为结束标志 ~~~ SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");//M是大写 df.setLenient(false); //设置是否严格解析日期,不合法则则不可解析 ~~~ 完整代码如下: ~~~ /** * 用比较复杂的方法来实现,主要目的来熟悉dateformat */ import java.text.SimpleDateFormat; import java.util.Scanner; public class Main { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");//M是大写 Scanner input = new Scanner(System.in); String dateStr = input.nextLine();//next则不能接收空格 dateStr = dateStr.replaceAll(" ", "/"); try { df.setLenient(false); //设置是否严格解析日期,不合法则则不可解析 df.parse(dateStr); } catch (Exception e) { System.out.println(0); System.exit(0); } System.out.println(1); } } ~~~