停止递归打印

时间:2013-10-23 20:05:20

标签: java recursion

我有点新,所以请耐心等待。 我在YouTube视频中看过以下内容:

public class Recursion {
    public static void main(String[] args) {
        int index = 0;
        while (true) {
            System.out.println(fibonacci(index));
            index++;
        }
    }

    public static long fibonacci(int i) {
        if (i == 0) return 0;
        if (i <= 2) return 1;
        long fibTerm = fibonacci(i - 1) + fibonacci(i - 2);
        return fibTerm;
    }
}

我的问题是,是否可以在5,10,15,20甚至25个数字后停止打印?

4 个答案:

答案 0 :(得分:3)

用“for”循环替换“while”循环。

public static void main(String[] args)
{
    int numberOfIterations = 25;
    for (int index = 0; index < numberOfIterations; index++)
    {
        System.out.println(fibonacci(index));
    }
}

这正是“for”循环用于:循环一定次数,然后停止。

答案 1 :(得分:0)

通常你会做类似

的事情
while(index < 20) {

答案 2 :(得分:0)

是的,很容易:

public static void main(String[] args)
{
    int index = 0;
    while (true)
    {
        System.out.println(fibonacci(index));
        index++;
        if (index == 25) { //stop after having printed the 25th number
            break;
        }
    }
}

答案 3 :(得分:0)

欢迎使用Stack Overflow!

是的,您可以在打印n个数字后停止打印数字,这很容易。

while (index < n)
{
    System.out.println(fibonacci(index));
    index++;
}

这是导致它打印的原因,并且由于你的布尔值(真或假)总是为真,它将永远循环。这可以通过用布尔语句替换while (true)中的“true”来修复。即:while (index < n)其中n是要打印的最大数字(5,10,15,25等)