Java 如何仅在另一个方法成功后运行特定方法?

Java 如何仅在另一个方法成功后运行特定方法?,java,webdriver,testng,Java,Webdriver,Testng,我已经能够运行这个非常好: public void daliytest() { me.login(); czz.createzoo(); czz.addanimals(); me.logout(); } 现在我想要这样的东西: public void daliytest() { me.login(); czz.createzoo(); if (czz.cr

我已经能够运行这个非常好:

public void daliytest() {

        me.login();

        czz.createzoo();


        czz.addanimals();


        me.logout();

    }
现在我想要这样的东西:

public void daliytest() {

        me.login();

        czz.createzoo();

        if (czz.createzoo.isSuccess){
        czz.addanimals();
            }

        me.logout();

    }
如果我问的是一个与java相关的非常基本的问题,请原谅我是初学者。
谢谢

如果您使用的是普通代码,那么您可以检查第一个方法的返回值,并决定是否要调用第二个方法

如果您使用的是Junit,则可以根据输入的断言结果调用另一个方法。差不多

// in first method
if (assertTrue(condition)) {

//call second method

}

使czz.createzoo返回布尔值,如果成功则返回true,然后执行if:

public void daliytest() {

    me.login();

    boolean success = czz.createzoo();

    if (success){
        czz.addanimals();
    }

    me.logout();

}

在createzoo中返回布尔值以指示成功,或者在出现错误时引发异常

如果选择使用布尔值:

if(czz.createzoo()) {
    czz.addanimals();
}
下面是一个成功返回布尔值的方法示例:

public boolean createzoo() {
    if(name != null) {
        this.zoo = new Zoo(name);
        return true; // Success
    } else {
        return false; // Failure
    }
}
如果您选择使用异常:

try {
    czz.createzoo();
    czz.addanimals();
} catch(IllegalArgumentException e) {
    e.printStackTrace();
}
由于createzoo可能引发异常,因此必须使用try/catch块来处理异常。如果createzoo引发异常,代码将跳转到catch块,addanimals将不会执行

下面是一个方法示例,该方法在出现问题时引发异常:

public void createzoo() {
    if(name != null) {
        this.zoo = new Zoo(name);
    } else {
        throw new IllegalArgumentException("No name has been set for the zoo");
    }
}
在czz.createzoo中返回true或false;并在条件允许时使用它

if(czz.createzoo()){
//Success.
}
else{
//Failure
}

让您的createZoo方法返回true,否则返回false。然后你可以像下面这样写

public void daliytest() {

    me.login();


    if (czz.createzoo()){
    czz.addanimals();
        }

    me.logout();

}

你的问题是?在你的Java教科书中寻找方法返回值。我想你想要的东西是一个惊喜。它成功了。。。!!。我对布尔运算很感兴趣,这也很有效。