java的递归代码实现
时间: 2023-10-26 19:34:03 浏览: 51
递归算法就是在过程或函数内调用自身的一种算法。递归算法一个很重要的应用就是快速排序。在Java中,递归函数的定义如下:
public static void recursion(int param) {
if (param > MAX_VALUE) { // 递归终止条件
return;
}
recursion(param + 1); // 调用自身
}
这是一个简单的递归函数的实现。当param大于最大值的时候,就会终止递归。如果不加递归终止条件,就会导致无限递归,最终导致栈溢出。
相关问题
用java递归代码实现斐波那契数列
当然!以下是用Java递归实现斐波那契数列的代码:
```java
public class Fibonacci {
public static void main(String[] args) {
int n = 10; // 要计算的斐波那契数列的长度
System.out.print("斐波那契数列: ");
for (int i = 0; i < n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
public static int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
}
```
在上述代码中,我们定义了一个递归函数 `fibonacci()`,该函数接收一个整数参数 `n`,并返回斐波那契数列中第 `n` 个数的值。如果 `n` 小于等于1,则直接返回 `n`。否则,通过递归调用 `fibonacci()` 函数来计算前两个数的和。在 `main()` 函数中,我们循环调用 `fibonacci()` 函数,并打印出斐波那契数列的值。
希望这可以帮助到你!如有任何其他问题,请随时提问。
java 递归代码示例
Java递归代码示例有很多,以下是三个常见的示例:
1. 递归实现二分查找
```
public static int binSearch(int arr[], int start, int end, int key) {
int mid = start + (end - start) / 2;
if (arr[mid] == key) {
return mid;
}
if (key > arr[mid]) {
return binSearch(arr, mid + 1, end, key);
} else if (key < arr[mid]) {
return binSearch(arr, start, mid - 1, key);
}
if (start >= end) {
return -1;
}
return -1;
}
```
2. 递归实现斐波那契数列
```
public static int fun(int m){
if(m==1 || m==2) {
return 1;
}else {
return fun(m-1)+fun(m-2);
}
}
```
3. 递归实现阶乘
```
public static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
```