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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fanxiaolin 中级黑马   /  2016-3-26 21:42  /  1342 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class primeNumbers{
     public static void main(String[]  args){
          int  i,  n;
          for(n=101; n<1000;n+=2){
               for(i=2; i<n; i++)
                    if(n%i == 0) break;
                if(i==n) System.out.print(n+"\t");
               }
        }
}
书上看到的
一直想不通这个程序时怎么运行的, 循坏套循坏的求余,第一个for条件的 n=101;
但是第二条件i=2;i<n;  为什么第二个 if 会是 i==n,  为什么不是  i  <= n;

4 个回复

倒序浏览
这个程序是不是求100到1000之间的素数的?
回复 使用道具 举报
即使第二个if的条件是i <= n但是由于break的存在也只能在 i == n时才执行第二个if语句啊
回复 使用道具 举报
菜菜的小猪 发表于 2016-3-26 22:05
即使第二个if的条件是i

谢谢啦
回复 使用道具 举报
Poul 发表于 2016-3-26 22:03
这个程序是不是求100到1000之间的素数的?

恩恩  对的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马