java - 为什么我的函数没有在 Java 中被调用?

标签 java

我是java新手,正在尝试自学。我有 C++ 背景。任何帮助将非常感激。 FibonacciSeq() 没有在我的 main 中被调用,我不确定为什么。我创建了接受斐波那契序列中的起始整数 (0) 的方法,并从那里递归地用每个值填充 vector 。当 vector 有 9 个元素时,函数应结束。

public class Fibonacci 
{
    static Scanner input = new Scanner(System.in);
    static Vector<Integer> fibonacciVect = new Vector<Integer>(0);
    static int second;
    static int newFirst;
    static int fibIn = 0;

    public static void main(String[] args)
    {
    System.out.print("Here comes the Fibonacci, watch out!");   

    fibonacciSeq(fibIn);

    System.out.print("Values in Fibonacci Vector:");
    for (int i = 0; i < fibonacciVect.size(); i++)
        {
        System.out.print(fibonacciVect.elementAt(i));
        }

    System.exit(0);
    }

    public static void fibonacciSeq(int first)
    {
        if (first == 0)
        {
            second = 1;
            fibonacciVect.addElement(0);
            fibonacciVect.addElement(1);
            newFirst = first + second;
            fibonacciSeq(newFirst);
        }

        if (fibonacciVect.size() == 9)
        {
            System.exit(0);
        }

        else
        {
            newFirst = first + second;
            fibonacciVect.addElement(newFirst);
            second = first;
            fibonacciSeq(newFirst);
        }

    }
}

最佳答案

作为初学者,您可以用 return 代替 System.exit(0)

if (fibonacciVect.size() == 9)
    {
        return;
    }

另外,请也删除其他 System.exit(0)。 您的代码现在应该可以工作了。

关于java - 为什么我的函数没有在 Java 中被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730667/

相关文章:

java - Mysql查询插入时截断数据

Java - 收到丢失返回错误

java - 无法在线程内更新 JDialog GUI

java - org.eclipse.persistence.exceptions.DatabaseException 内部异常 : java. sql.SQLSyntaxErrorException:ORA-00911:无效字符

java - 如何在用户界面(Primefaces)上显示 java List<Object>

java - 具有许多线程的 CyclicBarrier 性能较差 : Would a tree-like synchronization structure be an alternative?

java - Spring @Query 删除引号

java - 串联输出问题(toString Array) - java

java - 如何在 Java 中使用 xPath 正确解析此 XML 文件?

java - java中如何打印数组的名称