我是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/