Java 练习

//递归
//递归求 N 的阶乘 
import java.util.Scanner;
public class Test39{
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        int ret=factor(num);
        System.out.println("ret="+ret);
    }
    public static int factor(int n){
        if(n==1){
            return 1;
        }
        return n*factor(n-1);
    }
}
//、递归求 1 + 2 + 3 + ... + 10 
public class Test40{
    public static void main(String[] args) {
        System.out.println(Add(10));
    }
    public static int Add(int n){
        if(n==1){
            return 1;
        }
        return n+Add(n-1);
    }
}
//按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) (递归)
import java.util.Scanner;
public class Test41{
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num=scanner.nextInt();
        print(num);
    }
    public static void print(int n){
        if(n>9){
           print (n/10);
        }
        System.out.println(n%10);
    }
}
/4、写一个递归方法,输入一个非负整数,返回组成它的数字之和.
import java.util.Scanner;
public class Test42{
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个非负整数");
        int num=scanner.nextInt();
        System.out.println(Add(num));
    }
    public static int Add(int n){
        if(n<10){
            return n;
        }
        return n%10+Add(n/10);
    }
}
//5、递归求斐波那契数列的第 N 项 
import java.util.Scanner;
public class Test43{
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num=scanner.nextInt();
        System.out.println(fibonacci(num));
    }
    public static int fibonacci(int n){
        if(n==1||n==2){
            return 1;
        }
        return fibonacci(n-1)+fibonacci(n-2);
    }
}
/7、递归实现代码: 青蛙跳台阶问题 
//一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法 
import java.util.Scanner;
public class Test45{
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入台阶数");
            int num=scanner.nextInt();
            System.out.println(kind(num));
    }
    public static int kind(int n){
        if(n==0){
            return 0;
        }else if(n==1||n==2){
            return n;
        }
        return kind(n-2)+kind(n-1);
    }
}

猜你喜欢

转载自www.cnblogs.com/yuzhenghan/p/12121406.html
今日推荐