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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

输出结果一直不现实,但如果把最后的输出给显示的话,程序会显示2-100的所有数。
这是为什么呢?先让i=2,让i往后循环,而o可以最大到i,如果i能整除o就继续,但如果不能的话来判断i是否等于o。如果等于,那就输出i值。这怎么也不会不显示结果啊?为甚么呢?
class Test2
{
public static void main(String [] args)
{
  for(int i=2;i<100;i++)
  {
   for(int o=2;o<=i;o++)
   {
     if(i%o!=o)
       if(i==o)
         System.out.println(i);
   }
   /*System.out.println(i);*/
  }
}
}

6 个回复

倒序浏览
好吧,又有显示了,刚不知道是不是电脑抽风
回复 使用道具 举报
class Test2
{
        public static void main(String [] args)
        {
                for(int i=2;i<100;i++)
                {
                        for(int o=2;o<=i;o++)
                        {
                          if(i%o==0)
                                continue;
                          else if(i==o)
                                System.out.println(i);
                       
                        }
                          
                        /*System.out.println(i);*/
                }
        }
}
回复 使用道具 举报
好吧,脑袋已经糊涂了,怎么办啊
回复 使用道具 举报
class Test2
{
        public static void main(String [] args)
        {
                for(int i=2;i<100;i++)
                {
                        for(int o=2;o<i;o++)
                        {
                          if(i%o==0)
                                continue;
                          else System.out.println(i);
                       
                        }
                        /*System.out.println(i);*/
                }
        }
}
回复 使用道具 举报
终于懂了!!!
                la:for(int i=2;i<100;i++)
                {
                        for(int o=2;o*o<=i;o++)
                        {
                           if(i%o==0)
                                continue la;
                        }
                          
                        System.out.println(i);
                }
        }
就行了!!
回复 使用道具 举报
.........
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马