Java 构造函数以特定格式传递字符串

Java 构造函数以特定格式传递字符串,java,constructor,Java,Constructor,对于我的项目,我必须创建一个检查有效日期的程序。其中一个构造函数接受以下格式的字符串作为参数:“4/23/2012”,其中21表示日,9表示月,2016表示年。您可以假设输入中没有包含错误(即一组有效的数字),并且年份为4位数字。我不知道该怎么做 背景:有三个变量:整数天、整数月、整数年 谢谢这取决于你的目标是什么。您只想验证日期字符串并存储它吗?如果是这样的话,你可以这样做: DateTimeFormatter dtf = DateTimeFormatter.ofPattern("M/d/y"

对于我的项目,我必须创建一个检查有效日期的程序。其中一个构造函数接受以下格式的字符串作为参数:“4/23/2012”,其中21表示日,9表示月,2016表示年。您可以假设输入中没有包含错误(即一组有效的数字),并且年份为4位数字。我不知道该怎么做

背景:有三个变量:整数天、整数月、整数年


谢谢

这取决于你的目标是什么。您只想验证日期字符串并存储它吗?如果是这样的话,你可以这样做:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("M/d/y");
dtf.parse(date); // Throws an exception when the date is the wrong format

还是要将日期拆分为其组件并单独存储?在任何情况下,请查看Javadocs:

“以下格式:“4/23/2012”,其中21表示日,9表示月,2016表示年。”。。。什么?您可能需要重新思考您的示例。您可以使用
String.split(“/”)
将字符串划分为3个组件。然后
month=Integer.parseInt(字符串[0]
day=Integer.parseInt(字符串[1]
year=Integer.parseInt(字符串[2]
),然后可以使用if语句检查每个组件的有效性。