Java基础编程 找素数

说明:除了1和它本身以外,不能被其他正整数整除,就叫素数。

  1. 方法是否需要接收数据进行处理?需要接收101以及200,以便找该区间中的素数。
  2. 方法是否需要返回数据?需要返回找到的素数个数。
  3. 方法内部的实现逻辑:使用for循环来产生如101到200之间的每个数;每拿到一个数,判断该数是否是素数;判断规则是:
    从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数;根据判定的结果来决定是否输出这个数据(是素数则输出);最后还需要统计素数的个数并返回。

代码

com.itheima

public class Test7 {
    public static void main(String[] args) {
       //目标:完成找素数
        System.out.println(search2(101, 200));


    }
   //方法1
    public static int search(int start , int end ){
        int count = 0;

        for (int i = start; i <= end ; i++) {
            //信号位思想
            boolean a = true;
            //判断当前i是否为素数
            for (int j = 2; j <= i/2; j++) {
                if (i%j==0){
                    //当前i不是素数
                    a = false;
                    break;
                }

            }
            if (a){
                System.out.println(i);
                count++;
            }

        }
        return count;
    }


    //方法2
    public static int search2(int start , int end ){
        int count = 0;

        OUT:
        for (int i = start; i <= end ; i++) {

            //判断当前i是否为素数
            for (int j = 2; j <= i/2; j++) {
                if (i%j==0){
                    //当前i不是素数
                 continue OUT; //结束外部循环的当次执行
                }

            }

                System.out.println(i);
                count++;


        }
        return count;
    }
}

你可能感兴趣的:(笔记)