Java经典案例之-判断质数(素数)

/**

 * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数。

 * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数。

 * 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数。

 * 作者:徐守威

 */

package com.xushouwei;

import java.util.*;

public class T2 {

 

   /**

    * @param args

    */

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Scanner sc=new Scanner(System.in);

      System.out.println("请输入起始数n:");

      int n=sc.nextInt();

      System.out.println("请输入终止数m:");

      int m=sc.nextInt();

      //定义一个计数器用于记录素数的个数

      int cout=0;

      //判断所输入的数字时候符合问题要求

      if(n>=m)

      {

         //退出

         System.exit(0);

      }

      else

      {

         //外层循环用于遍历从n到m这些数

         System.out.print(n+"到"+m+"之间的素数数为:");

         for(int i=n;i<=m;i++)

         {

            //内层循环用于求出素数

            for(int j=2;j<=i;j++)

            {

                //用i%j如果等于0并且j不等于i两个条件判断是否还有其他可以除尽的数,表明只有自身可以整除

                if(i%j==0&&j!=i)

                {

                   break;

                }

                else if(i==j)

                {

                   //计数器加一

                   cout++;

                   //输出质数

                   System.out.print(i+" ");

                }

            }

         }

         System.out.println();

         System.out.println(n+"到"+m+"之间的素数个数为:"+cout+"个!");

      }

 

   }

 

}

posted @ 2014-03-24 21:05  徐守威  阅读(1397)  评论(0编辑  收藏  举报