javaSE_05Java中方法(函数)与重载、递归-练习

1.使用的递归的方法求5!

public class DiGui{
    public static void main(String[] args){
        //使用的递归的方法求5!
        System.out.println("5的阶乘是:");
        System.out.println(jieCheng(5));
    }

    public static int jieCheng(int n){
        if(n==1){
            return 1;
        }else{
            return jieCheng(n-1)*n;
        }
    }
}

2.实现一个刷屏小程序

这里写图片描述

import java.util.Scanner;

public class ShuaPing{
    public static void main(String[] args){
        //刷屏小程序
        System.out.println("我要开始刷屏了!哈哈!");
        shuaPing();


        System.out.println("我又要开始刷屏了!哈哈!");
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        shuaPing(n);
    }

    public static void shuaPing(){
        for(int i=1;i<=5;i++){
            System.out.println("我要刷屏,3s后我要发红包了!");
        }

    }

    public static void shuaPing(int a){
        for(int i=1;i<=a;i++){
            System.out.println(i+"我要刷屏,3s后我要发红包了!");
        }
    }
}

3.设计一个方法,打印直角三角形,要求可以通过方法参数的形式来控制打印的图像以及高度,比如打印图像为“$”,高度为8

这里写图片描述

import java.util.Scanner;

public class Test1{
    public static void main(String[] args){
        //2.设计一个方法,打印直角三角形,
        //要求可以通过方法参数的形式来控制打印的图像以及高度,
        //比如打印图像为“$”,高度为8
        Scanner input=new Scanner(System.in);
        System.out.println("需要几行的三角形,请输入:");
        int a=input.nextInt();
        System.out.println("需要有什么组成的三角形,请输入:");
        String s=input.next();
        System.out.println("生成的三角形效果:");
        print(a,s);

    }

    public static void print(int a,String s){
        for(int i=1;i<=a;i++){
            for(int j=1;j<=i;j++){
                System.out.print(s);
            }
            System.out.println();
        }
    }
}

4.设计一个方法,打印nn乘法表,n的值由方法的参数决定

这里写图片描述

import java.util.Scanner;

public class Test2{
    public static void main(String[] args){
        //3.设计一个方法,打印nn乘法表,n的值由方法的参数决定
        chengFa(9);
        chengFa(5);
    }

    public static void chengFa(int n){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
}

5.质数

素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.

a)例如:2,3,5,7,11,13,17,19,23…..
a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
b)输出某个范围内的所有素数,比如100-200之间。

import java.util.Scanner;

public class Test4{
    public static void main(String[] args){
        /*4.素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.
            a)例如:2,3,5,7,11,13,17,19,23.....
            a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
            b)输出某个范围内的所有素数,比如100-200之间。
        */
        Scanner input=new Scanner(System.in);

        //a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
        System.out.println("请输入一个数值来判断是否为质数:");
        int a=input.nextInt();
        boolean m=zhiShu(a);
        System.out.println(m);


        //b)输出某个范围内的所有素数,比如100-200之间。
        System.out.println("请输入一个取值范围来取该范围内的所有质数:");
        int x=input.nextInt();
        int y=input.nextInt();
        System.out.println(x+"到"+y+"之间的所有质数:");
        zhiShu(x,y);
    }

    public static boolean zhiShu(int a){
        int b=0;
        if(a>=1){
            for(int i=2;i<a;i++){
                if(a%i==0){
                    b++;
                    break;
                }
            }   
        }
        return b==0;
        /*方法二:

        if(a>=1){
            for(int i=2;i<a;i++){
                if(a%i==0){
                    return false;
                }
            }
        }
        return b==0;

        */
    }

    public static void zhiShu(int m,int n){
        int max=m>n?m:n;
        int min=m<n?m:n;
        for(int i=min;i<=max;i++){
            if(true==zhiShu(i)){
                System.out.print(i+" ");
            }
        }
    }
}
posted @ 2017-03-31 20:19  TCB_Java  阅读(317)  评论(0编辑  收藏  举报