java我想存储3到100之间的素数,并将它们存储在一个数组中,而不使用构造函数
我已经用java编写了这个程序,但它没有按预期工作。我想找到素数(不使用构造函数或方法)并将它们存储在数组中,但结果不同
public class Prime {
public static void main(String []args){
int s[]=new int[100];
for (int i=3;i<=100;i++){
int c=0;
for (int j=1;j<=i;j++){
if (i%j==0){
c++;
}
}
if (c<3){
for (int a=0;a<s.length;a++){
s[a]=i;
}
}
}
for (int b=0;b<s.length;b++){
System.out.println(s[b]);
}
}
}
预期: 3. 5. 7. . . . 97
获得的输出:
# 1 楼答案
这起作用了:
# 2 楼答案
错误在这里:
每当你找到一个素数,你就把
s
的每一个元素设置成这个数字,这意味着最终,s
将被你找到的最后一个素数-97填充声明一个名为
next
的新变量,该变量跟踪数组中下一个素数的位置,而不是用找到的任何素数填充数组: