一个求素数的程序:
public class test {
public static void main(String [] args)
{
int i=101,j=2,k=0;
while(i<=200)
{
while(j<i)
{
if(i%j==0)
{k=0;
break;}
k=1;
j++;
}
if(k==1)
{
System.out.println(i);
}
i++;
}
}
}
标号加过也不对呀,程序哪里错了呀??
追答j在第二重循环后子啊重置,在i++;的前面或者后面加上j=2
j++;??????
while(j<i)????
应该可以了吧
第一个问题是你理解错误……
j++是内层循环里的
但是你内层break出来之后没有把j重置,所以你下一次内层while的时候,j就会从i的上一个值开始。但是本来应该是从头再来一次才对。
第二个问题是我没看清楚