2 qq 39328621 qq_39328621 于 2017.09.07 20:29 提问

Java 这个小程序为什么输出不了

判断101-200之间素数,并输出个数;
本人Java新生 求大神赐教!谢谢!!
package work;

public class work_3 {

public static void main(String[] args) {
        int i,n,a=0;
        for(i=101;i<=200;i++)
            {for(n=2;n<=i;n++)
                {if(i%n==0)
                    break;
                if(i==n)
                    {a++;
                    System.out.println(i);}}}
                System.out.println(a);


}

}
结果 是0
图片说明

4个回答

rd_dq
rd_dq   2017.09.08 00:07
已采纳

你这个if语句应该是在第一个循环里的!!
代码:
package work;

public class work_3{

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    int i,n,a=0;
    for(i=101;i<=200;i++)
        {
        for(n=2;n<=i;n++)
            {
            if(i%n==0)
                break;
            }
            if(i==n)
                {a++;
                System.out.println(i);
                }
            }
            System.out.println(a);
}

}
图片说明

qq_16768503
qq_16768503   2017.09.08 10:52

图片说明

qq_28306215
qq_28306215   2017.09.07 21:18

当然了,你这写的什么啊,知道素数是怎么得到的吗,内存浪费严重。

Aruis26
Aruis26   2017.09.07 23:53

你的这个算法不对……
这个当然也不是纯粹用循环来算的

Csdn user default icon
上传中...
上传图片
插入图片