import java.util。*;
公共类DateChecker
以下是我的指示:
编写一个允许用户输入日期的Java应用程序。然后程序将检查日期以验证它是否是有效日期。
首先要求用户在表格中输入日期,mm / dd / yyyy。这将作为字符串输入,因为日期包含斜杠标记。
输入日期后,程序应检查有效日期。如果日期有效,程序应显示消息"有效日期"。如果日期无效,程序应显示消息"不是有效日期"以及表明日期无效的消息。
public static void main(String[] args) {
Scanner kbd = new Scanner(System.in);
System.out.println("Enter a date");
String dateStr = kbd.nextLine();
if(dateStr.length() == 10){
if (dateStr.charAt(2) == '/' && dateStr.charAt(5) == '/'){
String mmStr = dateStr.substring(0, 2);
String ddStr = dateStr.substring(3, 5);
String yyyyStr = dateStr.substring(6);
int mm = Integer.parseInt(mmStr);
int dd = Integer.parseInt(ddStr);
int yyyy = Integer.parseInt(yyyyStr);
if (mm <= 12 && mm >=1){
if (((((mm == 1) && (dd == 31)) || ((mm == 3) && (dd == 31)) || ((mm == 4) && (dd == 30)) || ((mm == 5) && (dd ==31)) || ((mm == 6) && (dd == 30)) || ((mm == 7) && (dd == 31)) || ((mm == 8) && (dd == 31)) || ((mm == 9) && (dd == 30)) || ((mm == 10) && (dd == 31)) || ((mm == 11) && (dd == 30)) || ((mm == 12) && (dd == 31)))))
{
System.out.println("Vailid date.");
}
else if (mm == 2){
if ((yyyy%4==0 && yyyy%100!=0) ||yyyy%400==0)
{
if (dd == 29){
System.out.println("Valid date");
}
else {
System.out.println("Not a valid date \nDay is not valid");
}
}
else {
if (dd == 28){
System.out.println("Valid date");
}
else {
System.out.println("Not a valid date \nDay is not valid");
}
}
}
else
{
System.out.println("Not a valid date \nDay is not valid");
}
}else {
System.out.println("Not a valid date \nMonth is not valid");
}
}
else {
System.out.println("Not a valid date \nIncorrect format");
}
if (dateStr.length() > 10){
System.out.println("Too many characters in the date");
}else {
System.out.println("Too few characters in the date ");
}
}
}
}