更新时间2019-08-10 05:35:10
boolean iszhishu = true;
for (int i=2;i<=100;i++)
{
for(int m=2;m<i;m++)
{
if(i%m==0)
{
iszhishu = false;
break;
}
}
System.out.println(iszhishu ? i+"为质数" : i+"不为质数" );
}
这是我个人编写出的java代码,但不知道为什么在3以后的质数中显示错误。
然后如果我把boolean iszhishu = true;放在第一个循环语句内就可以正常求出,这两者方法有什么区别吗?
有哪位大神可以解读一下吗?歇歇大家~
一个简单的逻辑问题,iszhishu 放在循环外的话,当第 一个素数求出,你的iszhishu 永远为false了,结果肯定不对了,所以要放在循环内,每次计算时初始化它的值为true
上一篇:这几个符号怎么打出来?看看