我正在做一个小脚本来计算斐波那契数列,通过一个数组来给出我想要的位数,我只是不明白为什么我的 fib
函数表示没有返回数组。
代码:
class Fibonacci{
public static void main(String[] args){
int[] startArray = {1,1,0,0,0,0,0,0,0,0};
int[] resultArray = fib(startArray);
System.out.println("Iterative Ausgabe des Fibonacci-Arrays:");
printIterativ(resultArray);
System.out.println();
System.out.println("Rekursive Ausgabe des Fibonacci-Arrays:");
printRekursiv(resultArray);
}
public static int[] fib(int[] array){
for(int i=0;i<array.length;i++){
array[i+1] = array[i] + array[i-1];
return array;
}
}
public static void printIterativ(int[] array) {
System.out.println(array);
}
public static void printRekursiv(int[] array) {
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
1条答案
按热度按时间3ks5zfa01#
这是范围的问题。只有return语句在for循环中,但是如果for循环从未执行,则没有return语句。
所以:
或
会起作用,因为它们对所有场景都有返回语句。你需要弄清楚哪一个符合你的要求。但是,由于实际上没有在任何地方调用fib,因此也可以删除该方法。