所以我试图创建一个isValid方法,该方法验证某个日期是否为真实日期(即3/31/2016有效,2/29/2001有效,因为它是a年,2/30/2016无效)有效的)
这是我的方法public boolean isValid()
`
{
//January
if (month == 1 && day <= 31) {
return true;
}
else {
return false;
}
//February
if (month == 2 && day <= 28) {
return true;
}
else {
if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
if (day == 29) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
//March
if (month == 3 && day <= 31) {
return true;
}
else {
return false;
}
//April
if (month == 4 && day <= 30) {
return true;
}
else {
return false;
}
//May
if (month == 5 && day <= 31) {
return true;
}
else {
return false;
}
//June
if (month == 6 && day <= 30) {
return true;
}
else {
return false;
}
//July
if (month == 7 && day <= 31) {
return true;
}
else {
return false;
}
//August
if (month == 8 && day <= 31) {
return true;
}
else {
return false;
}
//September
if (month == 9 && day <= 30) {
return true;
}
else {
return false;
}
//October
if (month == 10 && day <= 31) {
return true;
}
else {
return false;
}
//November
if (month == 11 && day <= 30) {
return true;
}
else {
return false;
}
//December
if (month == 12 && day <= 31) {
return true;
}
else {
return false;
}
}
`
现在,当我编译时,它说无论在哪里说“如果”,实际上都有不可达的语句。有人可以帮忙吗?我已经尝试过'if(true){return}'方法,但找不到其他有用的方法。
在您的第一个if语句中,无论结果如何,它都会返回,这意味着以下所有if语句都将永远不会到达,就好像您的第一个条件不满足一样,它也会返回,如果满足,它也会返回。
解决此问题的方法是删除所有else返回假路径,并在else if链中放置所有if语句,然后在末尾返回false。
例如
if(){
...
}else if(){
...
}
return false;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句