java高手来帮忙啊(求100以内的素数出错了)

来源:百度知道 编辑:UC知道 时间:2024/05/19 15:36:26
public class Example3_2
{
public static void main(String args[])
{int n=6,n1=3,i;
boolean b;
int su[]=new int[103];
su[1]=2;
su[2]=3;
su[3]=5;
while (n<=100)
{
b=true;
for(i=1;i<=n1;i++)
{
if(n%su[i]==0)
{
b=false;
}
}
if(b=true)
{
n1=n1+1;
su[n1]=n;
}
n=n+1;
}
for(i=1;1<=(n1-1);i++)
{
System.out.print(su[i]+" ");
}
}
}
你看不懂的那里是for(i=1;i<=n1;i++) 不好意思写错了啊
我到底哪错了啊 它把1到100的数全输出了啊

public class Example3_2
{
public static void main(String args[])
{int n=6,n1=3,i;
boolean b;
int su[]=new int[103];
su[1]=2;
su[2]=3;
su[3]=5;
while (n<=100)
{
b=true;
for(i=1;i<=n;i++)
{
if(n%su[i]==0)
b=false;
}
if(b=true)
{
n1=n1+2;
su[n1]=n;
}
n=n+2;
}
for(i=1;1<=(n1-1);i++) //这边都看不懂你是什么意思
{
System.out.print(su[i]+" ");
}
}
}
还有 你这样写很麻烦 我给你写个
public class Example3_2
{
public static void main(String args[]) {
int i,j;
Firstloop:
for(i=1;i<=100;i++){
if(i%2==0)
continue Firstloop;
j==3;
while(j<=Mathsqrt(i)){
if(i%j==o)
continue Firstloop;
j+=2;
}
}}}