方法被调用了8次,我不明白为什么?

时间:2019-02-28 02:18:36

标签: java

我的测试评论询问“ niceHippo()将被调用多少次?”正确的答案是8。无论我怎么看,我都很难理解,我看不到它在8中的效果。

public class Animals{

    public static String niceHippo()
    {
        String hippo = "Nice Hippo";
        return hippo;
    }

    public static String niceLion(){
        String lion = "Nice Lion";
        return lion;
    }

    public static void main(String[] args){
        int count = 13;
        String stringOut = "I love this class ";
        do
        {
            stringOut = "Animals can be messy ";
            for (int order = 1; order < 5; ++ order)
                for (int copy = 1; copy <= 2; copy++)
                    System.out.println(niceHippo());
            System.out.println(niceLion());
        }while (count != 13);

        count = 13;
        while (count > 10)
        {
            count--;
        }

        System.out.println(stringOut + count);
    }
}

2 个答案:

答案 0 :(得分:0)

在您的代码中,您要迭代外循环for (int order = 1; order < 5; ++ order)的顺序= 1到4,并且对于每次迭代,复制值for (int copy = 1; copy <= 2; copy++)将是1和2,并且niceHippo是从内循环调用的,因此niceHippo被调用了8次

答案 1 :(得分:0)

对于使用复制的循环,每次运行时,您都会打印两次漂亮的河马,因为copy <=2 然后,使用命令的循环将要求复制循环运行4次,因为order <5

因此,最后一个漂亮的河马打印了8次,因为一个循环将漂亮的河马打印了两次,并要求外循环将它打印4次。