【发布时间】:2015-03-04 03:25:58
【问题描述】:
我试图在 JAVA 中生成两个随机素数,但是,我希望循环不断重复,直到这两个变量都是素数,然后它们自己输出。
p 和 q 变量由 Math.random() 函数随机化,范围为 2 到 128(不包括128)。
这是我的代码:
int pRandom = (int) (Math.random() * (127 - 2) + 2);
int qRandom = (int) (Math.random() * (127 - 2) + 2);
int p = pRandom;
int q = qRandom;
for (int i = 1; i < p; i++) {
boolean isPPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPPrime = false;
break;
}
}
if (isPPrime){
JOptionPane.showMessageDialog(null, "YAY!");
break;
}
System.out.println("P value: " + p + "\n" + "Q value: " + q);
}
【问题讨论】:
-
你的内部 for 循环永远不会被执行。查看 for 循环的条件。 “j
-
@SubrataDey,我仍然得到一个主要输出:P 值:68
-
这只是使 P 值成为 1。