Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我真的不知道如何从递归公式打印数组_Java_Recursion - Fatal编程技术网

Java 我真的不知道如何从递归公式打印数组

Java 我真的不知道如何从递归公式打印数组,java,recursion,Java,Recursion,尝试使用递归返回斐波那契序列的整数数组。但我只是不知道如何将它放入数组中 public int[] fibArray(int n){ int[] result = new int[n]; if(n<=2){ result[0] = 1; result[1] = 1; }else{ result[n] = fibArray[n-1] + fibArray[n-2]; } return result; } public int[]fibArray(int n){ in

尝试使用递归返回斐波那契序列的整数数组。但我只是不知道如何将它放入数组中

public int[] fibArray(int n){

int[] result = new int[n];
  if(n<=2){
    result[0] = 1;
    result[1] = 1;
}else{
 result[n] = fibArray[n-1] + fibArray[n-2];
}
return result;
}
public int[]fibArray(int n){
int[]结果=新的int[n];

如果(n将该方法视为一个数组。它返回一个数组,而不是一个数组

public int[] fibArray(int n){

  int[] result = new int[n];
  if(n<=2){
    result[0] = 1;
    result[1] = 1;
  }else{
    int[] previous = fibArray(n-1); // note the parens, not braces
    result[n] = previous[n-1] + previous[n-2]; // may be subject to off by one error, I trust you can fix that
  }
  return result;
  }
public int[]fibArray(int n){
int[]结果=新的int[n];

如果(n,则需要在
fibArray
函数之外初始化数组

int[] callingFunc(int size){
  int[] myFibArray = new int[size]
  myFibArray[0] = 1;
  myFibArray[1] = 2;
  myFibArray = fibArray(2, myFibArray)
}

public int[] fibArray(int n){ 

//Your fib function
return result;
}


按照现在的方式,每次递归调用都会初始化一个新数组,并将大小设置为n,这只是递归调用的数量。

您共享的代码发生了什么情况?它似乎返回了一个int数组。是否出现错误?无法添加fibArray[n-1]和fibArray[n-2]您需要更具体地说,“不能添加”是什么意思?您是否看到异常,结果是否错误?按原样运行程序时,编译错误是“fibArray”和“fibArray”都无法解析为变量。并且“+”运算符不能应用于参数int[],int[]您需要调用方法
fibArray
,但您使用方括号,将其视为数组。结果是数组,而不是方法。抱歉,我一直在尝试解决这个问题,但我对数组的语法不太熟悉。显示的错误是索引3超出长度3的界限。但是如果前面的[n-1]这不应该低于索引吗?如果n为3,则前一个数组的长度为2。请记住数组索引从0开始。您可能需要在正确的位置包含一个或两个-1值