有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从自身调用方法或函数?

我无法理解这将如何工作,因为printAll是从自身调用的,并在for循环中调用,所以这个函数最终将如何到达。当我们从for循环调用printAll时,它将继续运行并再次启动该方法而不结束它,然后再次转到for循环并调用printAll方法而不结束它,并且它将继续执行此操作,因此有人可以解释此功能是如何工作的。因为我无法理解这种现象

private void printAll(Integer u, Integer d, List<Integer> savearray) {
        if (u.equals(d)) {
            this.saveinlist = new ArrayList<Integer>(savearray);
            return ;
        }

        for (Integer i : adjList[u]) {
                savearray.add(i);
                printAll(i, d, savearray);
                savearray.remove(i);

        }
    }

共 (1) 个答案

  1. # 1 楼答案

    这是一种递归方法。在递归方法中有两部分。 1.基本条件 2.递归部分

    基本条件是我们想要停止这个递归调用的时间。 在递归部分,它用一些参数称之为self。因为我们必须使用相同的代码集才能得到结果

    https://www.geeksforgeeks.org/recursion/如果您了解更多信息,请转到此链接