即時通訊相當新的Java,只是不知道爲什麼我的程序不工作。任何人都可以做的幫助將不勝感激!試圖找到下一個素數,不知道什麼是錯的。 Java
public class LabOne {
public static void main(String[] args) {
System.out.println("Please input a number: \n");
int inputReceive = 44;
int nextPrime = inputReceive;
int n = 5;
boolean isprime=true;
do {
if(inputReceive <= 1)
isprime = false;
else if(inputReceive <= 3){
System.out.printf("%d \n",isprime);
return;
}else if(inputReceive % 2 == 0 || inputReceive % 3 == 0)
isprime = false;
while ((n*n)<inputReceive){
if (inputReceive % n == 0 || inputReceive % (n + 2) == 0)
isprime = false;
n = n+6;
isprime = true;
}
nextPrime++;
}while(isprime = false);
System.out.printf("Next prime number is %d",nextPrime);
}
}
給定的輸出將是45,那是不正確的。
http://stackoverflow.com/questions/2831192/java-program-for-prime-numbers?rq=1 –
的可能的複製不能說計劃,但這種情況似乎不正確。 'while(isprime = false);' –
在do ... while循環中,你有很多關於inputReceive的問題。這些問題的答案在循環的第一次迭代後不會改變,因爲inputReceive沒有改變。擺脫這個問題將簡化你的代碼,並使其更容易看到什麼不工作。 –