下面的编码到底哪里出现了问题啊,运行出来会有很多数字
public class demo2 {
public static void main (String []args) {
System.out.print("一百以内的全部素数有:\n");
for(int num=2;num<=100;num++)
{
for(int i=2;i
{
if(num%i!=0)
System.out.print(num );
}
}
}
}
你的判断条件不对啊,我假设num=4,然后内层循环第一次的时候4%2是等于0的所以不输出,然后内层循环第二次的时候是4%3那就不等于0了,那就会被输出,可是实际4不是素数啊,所以你的判断条件不对。
http://t.csdn.cn/5XiyP
可以看看这个再看看2.0版本
判断条件不对,也没有break跳出循环,所以会一直循环,输出很多值
public static void main(String[] args) {
System.out.println("100以内的素数有:");
for(int i=1;i<=100;i++) {
boolean f=true;
for(int j=2;j<i;j++) {
if(i%j==0) {
//不是素数。
f=false;
break;
}
}
if(f) {
System.out.print(i+" ");
}
}
}