-5

我有一个java类里面有一个方法需要根据现在满足的条件返回一些整数值,我if...else在类的方法中放置了一些条件,如下所示,并在注释中我写了这个条件何时执行。

请告知我在方法def() if条件中的逻辑是否正确,还请让我知道是否执行了任何条件是否会检查剩余条件。

class abc
{
  private static SUCCESS = 1;
  private static FAILURE = 2;

  public void int def()
  {
    if (a=20 && b==30)
    {
        if (c==30 && d==40)  // nesting IF condition will go if a=20 & b=30
        { // do something
          return SUCCESS; // IF this condion is met will it check remaing conditions or not
        }
        else
        {
          return FAILURE; // IF this condion is met will it check remaing conditions or not
        }
    }
    else if( g==50 && d==60)
    {
      // do something
      if (t==56 && p==98) // nesting IF condition will go if g=50 & d=60
      {
        // do something
        return SUCCESS; // IF this condion is met will it check remaing conditions or not
      }
      return FAILURE; // IF this condion is met will it check remaing conditions or not
    }
    else
      return FAILURE; // default return means if any othe if or else if block is satisfied then this default value will be returned from the method
  }
}
4

3 回答 3

0

那应该是一样的

if ((a==20 && b==30 && c==30 && d==40) || (g==50 && d==60 && t==56 && p==98))
    return  SUCCESS; 
else
    return  FAILURE;
于 2013-01-08T03:41:10.787 回答
0

首先,如果您缺少相等的

if (a==0 && b==30)

在这两个 if 中,您都可以删除 else 词(和括号),以避免一些不必要的行。

于 2013-01-08T03:41:22.417 回答
0

您的逻辑是否正确尚不清楚,因为您没有提供有关它应该如何工作的规范。

但是,您可能至少有一个问题:

if (a=20 && b==30)

因为那=几乎可以肯定是一个==.

此外,如果您摆脱产生以下内容的思维定势,您会发现您的代码更容易遵循:

if (something)
    return something;
else
    do_something_else;

如果将其更改为以下内容,则可读性会大大提高:

if (something)
    return something;
do_something_else;

特别是当您像您一样拥有多个图层时。

关于您的评论:

如果满足此条件,它将检查剩余条件。

答案是不。从函数中取出的那一刻return,不会执行该函数中的其他代码。

于 2013-01-08T03:41:46.043 回答