一、求阶乘
分析
代码实现
public class _02求阶乘 {
public static void main(String[] args) {
int res = f(5);
System.out.println(res);
}
//f(n)求n的阶乘,f(n-1)求n-1的阶乘
static int f(int n) {
if(n == 1) return 1;
return n * f(n-1);
}
}
运行结果
二、打印 i 到 j
代码实现
public class _03打印i到j {
public static void main(String[] args) {
f(10,15);
}
static void f(int i,int j) {
if(i>j) return;
System.out.println(i);
f(i+1, j);
}
}
运行结果
三、数组求和
代码实现
public class _03数组求和 {
public static void main(String[] args) {
int res = f(new int[] {1,2,3,4,5},0);
System.out.println(res);
}
static int f(int []arr,int begin) {
if(begin == arr.length-1) return arr[begin];
return arr[begin]+f(arr, begin+1);
}
}
运行结果
四、翻转字符串
代码实现
public class _03翻转字符串 {
public static void main(String[] args) {
System.out.println(reverse("abcd", 3));
}
static String reverse(String src,int end) {
if(end == 0)
return ""+src.charAt(0);
return src.charAt(end)+reverse(src, end-1);
}
}