【发布时间】:2018-04-19 21:53:05
【问题描述】:
编写一个方法,当给定一个整数值时,检查该值是否为素数。 使用您之前的答案,编写用前 20 个素数填充数组的代码。
我已经解决了第一部分,并有一个名为 checkPrime(int n) 的方法,它返回 true 或 false。我对第二部分应该使用哪个循环感到困惑,我试图做这样的事情但被卡住了:
public static void fillArray() {
int[] arr = new arr[20];
n = 1;
for (int i = 0; i < 20; i++) {
if (checkPrime(n) == True) {
arr[i] = n;
n++;
} else {
n++;
}
}
在这里,如果数字不是素数,n 正在递增,但我们不会再次检查它是否为素数。任何帮助表示赞赏。
【问题讨论】:
-
在里面使用嵌套的while循环。 while(!checkPrime) { n++ } 然后将其添加到数组中。
-
也没有必要做 checkPrime(n) == true。只需执行 checkPrime(n)
-
没有问题。祝你好运
-
最好调用你的
checkPrime()方法,isPrime()。这更符合 Java 命名约定。 -
@stephen Docy 感谢编辑!