首页 > 电脑

java如何用布尔标记的方法求质数

更新时间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

相关标签:java

上一篇:这几个符号怎么打出来?看看

下一篇:世界上除了中文还有更生动的语言吗?