注册 登录
编程论坛 JAVA论坛

用java写输出1~100的递归表达式?代码

一笑而过1010 发布于 2015-11-12 12:17, 4328 次点击
用java写输出1~100的递归表达式?代码这样对不,不对请指教
    public static void main(String[] args){
        System.out.println(dg());
    }
    static int dg(){
        
            for(int i=100;i>=1;i--){
                System.out.println(i);
            }
        return 0;
    }
11 回复
#2
林月儿2015-11-12 16:14
负责任的说不对!
#3
calix2015-11-12 17:16
程序代码:
//递归方法大概就是自己调自己,但参数一直在变化,根据参数或运算结果判断何时结束递归
private static void printNum(int n) {
    if (n == 0) {
        return;
    }
    System.out.println(n);
    printNum(n - 1);
}

#4
林月儿2015-11-12 18:06
程序代码:
    public static void main(String[] args){
        dg(100);
    }
    static void dg(int n){//考虑负参数退出
        if(n>0){
            dg(n-1);
            System.out.println(n);
        }
    }
#5
紫月一殇雪2015-11-12 19:18
回复 4楼 林月儿
你这个没循环调用啊!相当于只走一次!!
#6
紫月一殇雪2015-11-12 19:20
回复 楼主 一笑而过1010
正确的写法应该是  3楼的,递归的含义就是自己在条件允许的情况下调用自身,从而实现以最少的代码实现重复的工作,比如读取某盘符下的所有文件和文件夹直到最后一层,
#7
林月儿2015-11-12 20:35
以下是引用紫月一殇雪在2015-11-12 19:18:24的发言:

你这个没循环调用啊!相当于只走一次!!



恩,我看看啊,才疏学浅。。。
问大侠个问题,你运行过这段程序吗?
#8
muziazheng2015-11-15 17:16
什么是递归?看看定义就知道了。。。
#9
紫月一殇雪2015-12-02 22:50
回复 7楼 林月儿
是的,递归不是先递进,然后到最里一层才开始反向运算,你这个我看错了。。。。。
#10
slinlong2015-12-06 18:37
高中数学学过函数的都知道,f(n)=g(f(n-1)),f(1)=常量,求:f(n)
递归其实就是这个,为了求f(10),就应该先求f(2),然后f(3) f(4) f(5)......得到(f10)
#11
小屁孩啊啊2016-12-19 10:47
#12
小屁孩啊啊2016-12-19 10:47
1