A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlpiano 中级黑马   /  2015-6-15 20:54  /  500 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以前不知道用flag,写程序搞得很复杂,比如找出100到200之间的素数,于是用数n依次去除2到n-1,设置计数器k=0,n整除一个k就加1,最后判断k是否等于0,现在想想真是太2了,用flag轻松就解决了,只要设flag = true,一旦n被整除,设flag为false 再return,轻轻松松

2 个回复

倒序浏览
楼主,把代码贴出来学习学习
回复 使用道具 举报
求101到200的素数个数,并列出,这个题是技术分贴的,贴出来不知道有没有违规:)

  1. class PrimeNumber
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //计数器
  6.                 int count = 0;
  7.                
  8.                 //num初始化为101
  9.                 int num =101;
  10.                
  11.                 int[] arr = new int[100];
  12.                
  13.                 while(num<=200)
  14.                 {
  15.                         //设置标志
  16.                         boolean flag = true;
  17.                        
  18.                         for(int i=2;i<num;i++)
  19.                         {
  20.                                 if(num%i==0)
  21.                                 {
  22.                                         //若能被整除,设flag为false,跳出循环
  23.                                         flag = false;
  24.                                         break;
  25.                                 }       
  26.                         }
  27.                         //flag为true则count加1,同时存入数组
  28.                         if(flag)
  29.                         {
  30.                                 count++;
  31.                                 arr[count-1]=num;
  32.                         }
  33.                         //num自增
  34.                         num++;       
  35.                 }
  36.                 System.out.println("101到200之间的素数一共有"+count+"个,分别是:");
  37.                
  38.                 for(int i=0;i<count;i++)
  39.                 {
  40.                         System.out.print(arr[i]+"    ");
  41.                 }
  42.         }       
  43. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马