-1

我已经能够很好地运行它:

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 相关的非常基本的问题,请原谅我(初学者)。
谢谢

4

5 回答 5

1

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

或者

如果您使用的是Junit,您可以根据您输入的断言结果调用其他方法。像

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

//call second method

}
于 2013-07-02T09:51:48.227 回答
1

要么返回一个布尔值createzoo()以指示成功,要么Exception在出现问题时抛出一个。

如果您选择使用 boolean :

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");
    }
}
于 2013-07-02T09:53:11.133 回答
0

使 czz.createzoo() 返回一个boolean,如果成功则返回 true,然后执行 if:

public void daliytest() {

    me.login();

    boolean success = czz.createzoo();

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

    me.logout();

}
于 2013-07-02T09:51:49.923 回答
0

czz.createzoo();在 if 条件中返回 true 或 false并使用它

if(czz.createzoo()){
//Success.
}
else{
//Failure
}
于 2013-07-02T09:53:14.827 回答
0

让您的 createZoo 方法返回 true 动物园创建成功,否则返回 false。然后你可以像下面这样写

public void daliytest() {

    me.login();


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

    me.logout();

}
于 2013-07-02T09:54:08.793 回答