Java教程

return调回方法及习题和递归算法

本文主要是介绍return调回方法及习题和递归算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/*
    return:
        – 1、return expression
                返回一个值给调用该方法的语句。
                返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
        – 2、return
                当方法声明中用void声明返回类型为空时,它不能返回任何值。

*/

public class ReturnDemo{
    public static void main(String[] args){
        //调用方法
         //System.out.println(getNumber());
         return 1;
    }
    
    public static int getNumber(){
        return 'a';
    }
}

/*
    九九乘法表
*/

public class NineNine{
    public static void main(String[] args){
        //控制行
        for(int i = 1; i< 10 ;i++){
            //控制列
            for(int j = 1; j <=i;j++){
                System.out.print(j + "*" + i + "=" + (i*j) + "\t");
            }
            System.out.println();
        }
    }
}

/*
    百钱买百鸡
*/

public class BuyChicken{
    public static void main(String[] args){
        for(int i = 0;i<= 20;i++){
            for(int j = 0;j<=34;j++){
                for(int k = 0; k<=300;k++){
                    if(((i+j+k)==100) && ((5*i + 3*j + k/3) == 100) && (k % 3 == 0)){
                        System.out.println("公鸡:" + i + "  母鸡:" + j + "  小鸡:" + k);
                    }
                }
            }
        }
    }
}

import java.util.Scanner;
/*
    斐波那契数列,选择可以输出几个数
*/

public class Febonaci{
    public static void main(String[] args){
        //创建Scanner对象
        /*Scanner sc = new Scanner(System.in);
        System.out.print("请输入要输出几个数:");
        int number = sc.nextInt();
        int x = 1;
        int y = 1;
        int z = 0;
        for(int i = 1;i<=number;i++){
            if(i == 1 || i == 2){
                System.out.print(1 + "\t");
            }else{
                z = x + y;
                x = y;
                y = z;
                System.out.print(z + "\t");
            }
        }*/
        for(int i = 1;i <= 10;i++){
            System.out.print(getNumber(i) + "\t");
        }
        
    }
    
    /*
        递归算法:程序在运行的过程中,发生自身调用自身的情况
            注意:
                1、如果使用循环能解决问题,尽量不要使用递归算法
                    在使用递归算法的时候会加大资源的消耗
                    如果递归算法的深度过于深,可能会造成栈溢出
                2、如果使用其他方法都不能解决问题,就必须要使用递归算法
                     如:输出某个磁盘下所有的文件名
    */
    public static int getNumber(int number){
        if(number == 1 || number == 2){
            return 1;
        }else{
            return getNumber(number - 1) + getNumber(number - 2);
        }
    }
    
}

这篇关于return调回方法及习题和递归算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!