【发布时间】:2021-05-12 16:44:58
【问题描述】:
我正在编写这个方法,它应该返回给定数字的最大素数。它工作正常,直到输入 45 并且输出为 15,即使输出应该是 5。我正在努力寻找错误。请帮忙。
public static int getLargestPrime(int number) {
if (number < 0) {
return -1;
}
for (int i = number-1; i > 1; i--) {
if (number % i == 0) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
continue;
}
return i;
}
}
}
return -1;
}
【问题讨论】:
-
看来您需要
break;而不是continue;。