目标- 找到所有的 primeNumbers 并用它创建数组 做了什么- 创建了方法 primeReturner - 如果 number prime 则返回 true -
private static boolean primeReturner (int i){
for (int j=2;j<i; j++){
if (i%j==0)
return false;
}
return true;
}
created 用素数创建数字的方法
private static void simpleArray() {
int []a = new int [100];
a[0]=1;
a[1]=2;
for (int i=2; i<a.length; i++){
if (primeReturner(i)==true){
a[i]=i;
i++;
}
}
}
问题 - 我在创建数组期间遇到了一些错误 - 数组 0 中的一些项目和一些正常......有时它返回错误......
提问- 我的方法 simpleArray 有什么问题?
稍微修改一下代码 - 现在它识别所有素数并用它创建数组,但是在将第 100 个项目添加到数组后我得到错误
代码
private static void simpleArray() {
int []a = new int [100];
a[0]=1;
a[1]=2;
int count=2;
while (count<100)
for (int i=3; ; ++i){
if (primeReturner(i)==true){
a[count]=i;
count++;
}
}
for (int j=0; j<a.length; j++){
System.out.print(" " + a[j]);
}
}
private static boolean primeReturner (int i){
for (int j=2;j<i; j++){
if (i%j==0)
return false;
}
return true;
}
和主要功能公共类Exercise_1 {私有静态int选择;
public static void main (String[]args) throws IOException{
System.out.println("Menu:");
....
System.out.println("Array with simple numbers - enter 7");
select = getNumber ();
switch (select){
.....
case 7:{
simpleArray();
}
}
}
结果创建了所有具有素数 succsesfull 的数组, 但是在打印此数组期间我得到java.lang.ArrayIndexOutOfBoundsException 错误...
如何解决此错误?