我正在嘗試編寫一個程序來檢查它是否爲素數,並返回一個字符串,如果爲true,則返回no,如果爲false。我試圖在我的主要方法內使用while循環,但我遇到問題執行它。我在void方法內部完成了它,並且在主要方法中調用了該方法,但這不是我想要的。帶有While循環的素數
我希望它在我的主要方法中,並返回一個字符串是,如果它是素數,並且字符串否,如果它不是素數。請有任何想法嗎?在下面的方法中查看我的代碼。任何想法如何在我的主要方法轉換它返回yes或no作爲字符串?
import java.util.Scanner;
public class PrimeNumbers {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = in .nextInt();
isPrime(number);
}
public static void isPrime(int n) {
if (n % 2 == 0) {
System.out.println("It is not a prime number");
return;
} else {
int i = 3;
while (i <= Math.sqrt(n)) {
if ((n % i) == 0) {
System.out.println("It is not a prime number");
return;
}
i = i + 2;
}
}
System.out.println("It is a prime number");
return;
}
}
如何複製的身體isPrime()'變成'main()',其中isPrime(數字);'現在是? (當然,將'n'改爲'number'(反之亦然)。) –
您無法從void方法返回String。 – Naveed
您的isPrime方法不正確。任何小於或等於1的整數都不是素數。 2和3是素數。 4不是素數。任何5或更大的整數都可以在您的while循環中進行測試。 –