gpt4 book ai didi

java - 素数 - 困境

转载 作者:行者123 更新时间:2023-12-01 22:38:23 28 4
gpt4 key购买 nike

我正在尝试检查给定的数字是否是质数。首先采用试分割法。但该程序的行为很奇怪。这是我使用的。

int no;
no = Integer.parseInt(jTextField1.getText());

for (int i = 2; i < no; i = i + 1) {
if(no % i == 0) {
jTextArea1.setText("No. is not prime");
}
else {
jTextArea1.setText("No is prime");
}
}

程序始终将输出显示为“No is prime”。我知道这是一个相当微不足道的问题,但我们将不胜感激。

附注我正在使用 Netbeans。

最佳答案

您遇到的问题是您在每次迭代时重置文本。即使您找到了 no 的除数并设置文本来指示它不是质数,您仍会继续检查其他数字,这些数字不会均匀地整除您的数字。

您想要做的是,每次通过循环检查“素数”,但只设置文本一次:

    boolean prime = true;
for (int i = 2; i < no; i = i + 1) {
if (no % i == 0) {
jTextArea1.setText("No. is not prime");
prime = false;
break; // once we have found a divisor, we can stop looking
}
}
if (prime) {
jTextArea1.setText("No is prime")
}

关于java - 素数 - 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553166/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com