Java 公共布尔方法中的不可访问语句

Java 公共布尔方法中的不可访问语句,java,Java,因此,我试图创建一个isValid方法来验证某个日期是否真实(即2016年3月31日有效,2001年2月29日有效,因为它是闰年,2016年2月30日无效) 下面是我的方法public boolean isValid() ` { //一月 if(month==1&&day在您的第一个if语句中,无论结果如何,它都会返回,这意味着将永远无法达到以下所有if语句,因为如果您的第一个条件未满足,它将返回,如果满足,它也会返回 解决方法是删除所有else-return-false路径,并在else-if

因此,我试图创建一个isValid方法来验证某个日期是否真实(即2016年3月31日有效,2001年2月29日有效,因为它是闰年,2016年2月30日无效)

下面是我的方法public boolean isValid()

`

{
//一月

if(month==1&&day在您的第一个if语句中,无论结果如何,它都会返回,这意味着将永远无法达到以下所有if语句,因为如果您的第一个条件未满足,它将返回,如果满足,它也会返回

解决方法是删除所有else-return-false路径,并在else-if链中字符串化all-if语句,然后在该链的末尾返回false

e、 g


您的代码应该是if elseif elseif elseif…else

当你说if和else时,你的代码将以if或else结尾。从今以后,其他if语句将无法访问


这就是您遇到的错误…将其他条件更改为elseif

您的代码将永远不会转到第二个if语句,因为第一个if语句的else部分(一月的)将终止您的程序

您的代码必须如下所示:

if(month == 1)
{
   if(day <= 31)
      return true;
   else
      return false;
}
if(month==2)
{
  ----
  ----
}
if(月==1)
{
如果(天)
否则,您可以使用变量代替直接返回语句,如

public boolean isValid()
{
 boolean status=false;
       if(condition)
          {
              status=true;
          }
    return status;
}

2001年不是闰年……那么我该如何解决这个问题呢?我应该创建12种不同的方法吗?我的bad://shoulda refreshed&&也有不良影响。如果你满意,那么就接受答案,这样人们就知道问题已经解决了:)有一件事,现在它说我缺少返回语句。
if(month == 1)
{
   if(day <= 31)
      return true;
   else
      return false;
}
if(month==2)
{
  ----
  ----
}
return **statement should be last statement of any method**
public boolean isValid()
{
 boolean status=false;
       if(condition)
          {
              status=true;
          }
    return status;
}