黑马程序员技术交流社区
标题:
已看一个小时,求素数16行代码,为什么不输出结果
[打印本页]
作者:
凯撒
时间:
2015-12-9 19:19
标题:
已看一个小时,求素数16行代码,为什么不输出结果
输出结果一直不现实,但如果把最后的输出给显示的话,程序会显示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);*/
}
}
}
作者:
凯撒
时间:
2015-12-9 19:28
好吧,又有显示了,刚不知道是不是电脑抽风
作者:
凯撒
时间:
2015-12-9 19:35
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);*/
}
}
}
作者:
凯撒
时间:
2015-12-9 19:37
好吧,脑袋已经糊涂了,怎么办啊
作者:
凯撒
时间:
2015-12-9 19:40
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);*/
}
}
}
作者:
凯撒
时间:
2015-12-9 19:45
终于懂了!!!
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);
}
}
就行了!!
作者:
洋葱头头
时间:
2015-12-9 22:18
.........
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2