我想编写一个代码来检查日期是否有效但是我的问题是输出。我无法显示用户是否输入了有效/无效的日期或月份。
String date;
int dd,mm,yyyy;
boolean leapyear,validdate;
if(mm >=1 || mm <=12) // to check if user input month which is less than 1 or more than 12
{
System.out.println(mm+" is an invalid month");
}
if((mm == 4 || mm == 6 || mm == 9 || mm == 11) && (dd <= 30)) // months with 30 days
{
validdate = true;
System.out.println(mm + "/" + dd + "/" + yyyy + " is a valid date.");
}
//For months with 31 days
else if((mm == 1 || mm == 3 || mm== 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12) && (dd <= 31))
{
validdate = true;
System.out.println(mm + "/"+ dd + "/" + yyyy + " is a valid date.");
}
else
{
System.out.println("Invalid date!");
}
}
}
}
最佳答案
if(mm >=1 || mm <=12)
应该是
if (mm < 1 || mm > 12)
否则,mm
的每个值都将计算为true
,从而使日期“无效”。
关于java - 我的无效和有效日期代码不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283642/