import?java.util.Scanner;
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了延津免費建站歡迎大家使用!
//質(zhì)數(shù)又稱素數(shù),是指在一個大于1的自然數(shù)中,除了1和此整數(shù)自身外,不能被其他自然數(shù)整除的數(shù)
public?class?PrimeNumber?{
public?static?void?main(String[]?args)?{
Scanner?scan?=?new?Scanner(System.in);//?掃描器,接收控制臺輸入信息
System.out.print("請輸入一個整數(shù):");
try?{
int?num?=?scan.nextInt();//?取出控制臺輸入的信息
if?(isPrime(num))?{//?調(diào)用isPrime()方法
System.out.println(num?+?"是素數(shù)!");//?若isPrime()方法返回true,輸出是素數(shù)
}?else?{
System.out.println(num?+?"不是素數(shù)!");//?若isPrime()方法返回false,輸出不是素數(shù)
}
}?catch?(Exception?e)?{
System.out.println("請輸入整數(shù)");//?捕捉異常,若輸入的不是整數(shù),輸出異常
}
}
/**
?*?pre
?*?用于判斷一個數(shù)是否為素數(shù),若為素數(shù),返回true,否則返回false
?*?/pre
?*?
?*?@param?a
?*????????????輸入的值
?*?@return?true、false
?*/
public?static?boolean?isPrime(int?a)?{
boolean?flag?=?true;
if?(a??2)?{//?素數(shù)不小于2
return?false;
}?else?{
for?(int?i?=?2;?i?=?Math.sqrt(a);?i++)?{
if?(a?%?i?==?0)?{//?若能被整除,則說明不是素數(shù),返回false
flag?=?false;
break;//?跳出循環(huán)
}
}
}
return?flag;
}
}
import java.util.*;
class Test {
public static void main(String[] args) {
System.out.println("請輸入要進行判斷的整數(shù):");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("您輸入的整數(shù)是:" + number);
if(isPrimeNumber(number)) {
System.out.println("您輸入的數(shù)" + number + "是素數(shù)。");
} else {
System.out.println("您輸入的數(shù)" + number + "不是是素數(shù)。");
}
}
//判斷素數(shù)的靜態(tài)方法
public static boolean isPrimeNumber(int num) {
boolean flag = true;
if(num == 2) {
return flag;
}
for(int i = 1; i Math.sqrt(num); i++) {
if(num % 2 == 0) {
flag = false;
break;
}
}
return flag;
}
}
寫了一個,不知道滿足你的要求不?
基本思路就是對于每一個數(shù)a,看一下所有比a小的數(shù)能不能把a整除,如果能,那就說這個數(shù)a不是素數(shù)。 第一層循環(huán)就是枚舉1000以內(nèi)的每一個數(shù),然后對每一個數(shù)進行判斷。第二層循環(huán)就是枚舉每一個比a小的數(shù)m,看一下是否有某一個m能夠整除a。
其中n是一個標志,記錄的是a是不是素數(shù),如果執(zhí)行完了第二層循環(huán),n還是1,那就說明當前的這個a是一個素數(shù),否則當前的a就是合數(shù)。
n = 1是對標志的初始化,默認認為a是素數(shù)
n = 0這一句執(zhí)行的條件是a % m == 0也就是存在一個小于a的數(shù)m,能夠整除a,也就說明a不是素數(shù)了,所以這個時候把標志n改為0,以為這a是合數(shù)
if (n != 0) 也就是判斷a是不是素數(shù)咯。