检查IF条件,然后绕过ELSE

问题描述

我有一个IF ELSE条件语句块。假设这是我的代码

如何在不更改 A或B 的情况下访问isTrue的 IF ELSE 代码? 我尝试了 return true ,但它不会返回,因为它在方法中。有关键字吗?

public void test() {
 if (text1.equals("") {
   //Output error message
 } else if (text2.equals("") { 
   //Ouput error message
 .
 .
 .
 } else if (A!= null && (A > B))  {
   //GO TO ELSE condition without changing the A or B
 } else { if (isTrue){} }
}

解决方法

从其他条件中取出最后一个条件:

public void test() {
   if (text1.equals("") {
      //Output error message
   } else if (text2.equals("") { 
      //Ouput error message
   } else if (A!= null && (A > B))  {
      //GO TO ELSE condition without changing the A or B
   }

   if (isTrue){ }
}
,

在我看来,就像您尝试使用该方法返回布尔值以检查任何参数一样... 如果那是真的,请使用:

public boolean testParams() {
// check text 1
if (text1.equals("this shouldnt be inside") {
    System.out.println("This is an error text 1 is not what expected");
    return false;
}

// check test2
if (text2.equals("this shouldnt be inside") {
    // do sth
    .
    .
    .
    System.out.println("This is an error text 2 is not what expected");
    return false;
}
    
if(A < B && isTrue)
    return true;

// in any other case return false
return false;

}

如果它应该是一个void(这样一个没有任何返回值的方法),请执行以下操作:

public void testParams() {

// check text 1
if (text1.equals("this shouldnt be inside") {
    System.out.println("This is an error text 1 is not what expected");
    return;
}

// check test2
if (text2.equals("") {
    // do sth and then at the end return with an error
    .
    .
    System.out.println("This is an error text 2 is not what expected");
    return;
}
    
if(A < B) {
    // do something when A is smaller then B
    if(isTrue) {
        // do sth when parameter isTrue is true...
    } else {
        // do another action when parameter isTrue = false...
    }
} else {
    // do something when A is greater then B
}    

}