如何将我的代码中的素数保存到一个数组中并随机调用它们中的 2 个
这是@Stephen C 建议的我编辑的代码#3
public class prima {
public static int[] getPrima(int aw, int ak) {
int [] primes;
int jmlPrim=0;
int h = 0;
primes = new int[5];
boolean isPrima;
for (int i = 2; i <= ak; i++) {
isPrima = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrima = false;
break;
}
}
if (isPrima == true) {
//System.out.print(i + " ");
jmlPrim++;
primes[jmlPrim]=i;
}
}
/*here the code for random prime number*/
final Random random = new Random();
final int i1 = random.nextInt(primes[jmlPrim]);
final int prime1 = primes[i1];
System.out.println( "i1= " + i1);
return null;
}
public static void main(String[] args) {
System.out.println(prima.getPrima(1, 10));
}
}
我想将 prima.getPrima(1,100) 的结果保存在一个数组中,
在我理解@Stephen C 的意思之前,我像上面一样编辑我的代码,
@Stephen C,请更正...,如何检查或确保我的质数存储在
primes[jmlPrim];
另外,我添加代码以从 primes[jmlPrim] 中获取随机值;
final Random random = new Random();
final int i1 = random.nextInt(primes[jmlPrim]);
final int prime1 = primes[i1];
System.out.println( "i1= " + i1);
这是我运行该代码时得到的
array= 2,array= 3,array= 5,array= 7,i1= 4
null
为什么 i1=4?据我所知 4 不是素数