编辑代码

class Main {
	public static void main(String[] args) {
        //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
        //台阶
		System.out.println("走一个台阶:"+calStepMethods(1));
        System.out.println("走两个台阶:"+calStepMethods(2));
        System.out.println("走三个台阶:"+calStepMethods(3));
        System.out.println("走四个台阶:"+calStepMethods(4));
        System.out.println("走五个台阶:"+calStepMethods(5));

        //阶乘
        System.out.println("1的阶乘为:" + factoralByRecurse(1));
        System.out.println("5的阶乘为:" + factoralByRecurse(5));
        //斐波那契
        System.out.println("第2位的斐波那契数为:"+fibonacci(1));
        System.out.println("第4位的斐波那契数为:"+fibonacci(3));
        System.out.println("第6位的斐波那契数为:"+fibonacci(5));

        //回文
        char[] chars={'a','b','a'};
        isPalindrome(chars,chars.length,0);
	}



//台阶
 public static int calStepMethods(int stairCount) {
        if (stairCount < 1) {
            return 0;
        }
        if (stairCount == 1) {
            return 1;
        }
        if (stairCount == 2) {
            return 2;
        }
        return calStepMethods(stairCount - 1) + calStepMethods(stairCount - 2);
    }
//阶乘
public static int factoralByRecurse(int n) {
        if (n == 0) {
            return 1;
        } else {
            return n * factoralByRecurse(n - 1);
        }
    }

//斐波那契
 public static int fibonacci(int n) {
        if (n<1){
            return 0;
        }
        if (n == 1 || n ==2){
            return 1;
        }
        return fibonacci(n-1)+fibonacci(n-2);
    }

//回文
public static boolean isPalindrome(char[] chars,int length,int i){
        if (length<=1){
            System.out.println("是回文数");
            return true;
        }else if (chars[i] == chars[length-1]){
            return isPalindrome(chars,length-2,i++);
        }else {
            System.out.println("不是回文数");
            return false;
        }
    }



}