主题:帮帮看下这个程序
public class Primzahlen
{
public static void main(String[] args)
{
int A[]= new int[10000];
int B[]=new int[1000];
int m=0;
for(int i=3;i<A.length;i+=2)
A[i]=1;
for(int i=3;i<B.length;i+=2)
if(A[i]==1)
{
if(m++<B.length)
B[0]=2;B[m]=i;
for(int j=i+i+i;j<A.length;j+=i+i)
A[j]=0;
}
System.out.println("ersten 20 Prinmzahlen sind");
for(m=0;m<20;m++)
System.out.println(B[m]);
System.out.println("ersten 50 Primzahlenzwillinge sind");
for(int j=0;j<B.length;j++)
if(B[j+1]-B[j]==2)
if(m++<50)
System.out.println(B[j]+"und"+B[j+1]);
System.out.println("die kleinste Primzahl ist");
for(int n=0;n<B.length;n++)
if(B[n+1]-B[n]>50)
System.out.println(B[n]);
}
}
这个是关于求质数的
总有下面这个错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1000
at Primzahlen.main(Primzahlen.java:30)
{
public static void main(String[] args)
{
int A[]= new int[10000];
int B[]=new int[1000];
int m=0;
for(int i=3;i<A.length;i+=2)
A[i]=1;
for(int i=3;i<B.length;i+=2)
if(A[i]==1)
{
if(m++<B.length)
B[0]=2;B[m]=i;
for(int j=i+i+i;j<A.length;j+=i+i)
A[j]=0;
}
System.out.println("ersten 20 Prinmzahlen sind");
for(m=0;m<20;m++)
System.out.println(B[m]);
System.out.println("ersten 50 Primzahlenzwillinge sind");
for(int j=0;j<B.length;j++)
if(B[j+1]-B[j]==2)
if(m++<50)
System.out.println(B[j]+"und"+B[j+1]);
System.out.println("die kleinste Primzahl ist");
for(int n=0;n<B.length;n++)
if(B[n+1]-B[n]>50)
System.out.println(B[n]);
}
}
这个是关于求质数的
总有下面这个错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1000
at Primzahlen.main(Primzahlen.java:30)