使用java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出
在編程中,處理數(shù)學(xué)問題是一個(gè)常見的任務(wù)。本文將介紹如何使用Java語言來判斷101到200之間的整數(shù)中有多少個(gè)是素?cái)?shù),并輸出這些素?cái)?shù)。素?cái)?shù)是指在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的數(shù)。
什么是素?cái)?shù)
素?cái)?shù)(Prime number)是只有兩個(gè)正因子(1和自己)的自然數(shù),且必須大于1。例如,5是一個(gè)素?cái)?shù),因?yàn)樗荒鼙?和5整除;而4不是素?cái)?shù),因?yàn)樗梢员?、2和4整除。
Java代碼實(shí)現(xiàn)
下面是一個(gè)簡(jiǎn)單的Java程序,用于找出并打印101到200之間的所有素?cái)?shù):
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0; // 計(jì)數(shù)器,用于統(tǒng)計(jì)素?cái)?shù)的數(shù)量
for (int i = 101; i <= 200; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("101到200之間共有 " + count + " 個(gè)素?cái)?shù)。");
}
// 判斷一個(gè)數(shù)是否為素?cái)?shù)的方法
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解析
主方法 (main 方法):
- 定義了一個(gè)計(jì)數(shù)器 ?
?count?? 來記錄找到的素?cái)?shù)數(shù)量。 - 使用 ?
?for?? 循環(huán)遍歷101到200之間的每一個(gè)數(shù)字。 - 對(duì)每個(gè)數(shù)字調(diào)用 ?
?isPrime?? 方法檢查是否為素?cái)?shù)。 - 如果是素?cái)?shù),則打印該數(shù)字并將計(jì)數(shù)器加一。
- 最后,輸出總共找到了多少個(gè)素?cái)?shù)。
判斷素?cái)?shù)的方法 (isPrime 方法):
- 首先檢查數(shù)字是否小于或等于1,如果是,則返回 ?
?false??,因?yàn)?及以下的數(shù)不是素?cái)?shù)。 - 使用一個(gè) ?
?for?? 循環(huán)從2開始到該數(shù)字的平方根進(jìn)行迭代。選擇平方根作為上限是因?yàn)槿绻粋€(gè)數(shù)不是素?cái)?shù),那么它必定有一個(gè)小于或等于其平方根的因數(shù)。 - 在循環(huán)中,如果發(fā)現(xiàn)任何能整除該數(shù)字的數(shù),則返回 ?
?false??。 - 如果循環(huán)結(jié)束后沒有發(fā)現(xiàn)能整除的數(shù),則返回 ?
?true??,表示該數(shù)字是素?cái)?shù)。
運(yùn)行結(jié)果
當(dāng)你運(yùn)行上述Java程序時(shí),它會(huì)輸出101到200之間的所有素?cái)?shù)以及這些素?cái)?shù)的總數(shù)。
方法補(bǔ)充
方法一
下面是一個(gè)用Java編寫的示例程序,用于判斷101到200之間的素?cái)?shù),并輸出這些素?cái)?shù)及其總數(shù)。
public class PrimeNumbers {
public static void main(String[] args) {
int start = 101;
int end = 200;
int count = 0;
System.out.println("Prime numbers between " + start + " and " + end + " are:");
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
}
// 判斷一個(gè)數(shù)是否為素?cái)?shù)
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解釋
主類和主方法:
- ?
?PrimeNumbers?? 是主類。 - ?
?main?? 方法是程序的入口點(diǎn)。
變量定義:
- ?
?start?? 和 ??end?? 分別定義了要檢查的范圍(101到200)。 - ?
?count?? 用于記錄找到的素?cái)?shù)數(shù)量。
循環(huán)遍歷范圍內(nèi)的每個(gè)數(shù):
- 使用 ?
?for?? 循環(huán)從 ??start?? 到 ??end?? 遍歷每個(gè)數(shù)。 - 對(duì)于每個(gè)數(shù),調(diào)用 ?
?isPrime?? 方法判斷其是否為素?cái)?shù)。
判斷素?cái)?shù)的方法:
- ?
?isPrime?? 方法接受一個(gè)整數(shù) ??num?? 作為參數(shù)。 - 如果 ?
?num?? 小于或等于1,則返回 ??false??(因?yàn)?及以下的數(shù)不是素?cái)?shù))。 - 使用 ?
?for?? 循環(huán)從2到 ??sqrt(num)?? 檢查是否有任何數(shù)能整除 ??num??。如果有,則 ??num?? 不是素?cái)?shù),返回 ??false??。 - 如果沒有找到能整除 ?
?num?? 的數(shù),則 ??num?? 是素?cái)?shù),返回 ??true??。
輸出結(jié)果:
如果一個(gè)數(shù)是素?cái)?shù),輸出該數(shù)并增加 ??count??。
最后輸出總共有多少個(gè)素?cái)?shù)。

方法二
下面是一個(gè)使用Java編寫的程序,用于判斷101到200之間有多少個(gè)素?cái)?shù),并輸出所有的素?cái)?shù)。
Java 代碼
public class PrimeNumbers {
public static void main(String[] args) {
int start = 101;
int end = 200;
int count = 0;
System.out.println("Prime numbers between " + start + " and " + end + " are:");
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.println(i);
count++;
}
}
System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
}
// 判斷一個(gè)數(shù)是否為素?cái)?shù)
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
if (num == 2) {
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
}代碼解釋
主類和主方法:
- ?
?PrimeNumbers?? 是主類。 - ?
?main?? 方法是程序的入口點(diǎn)。
變量定義:
- ?
?start?? 和 ??end?? 分別定義了要檢查的范圍(101到200)。 - ?
?count?? 用于記錄素?cái)?shù)的數(shù)量。
循環(huán)遍歷范圍內(nèi)的每個(gè)數(shù):
- 使用 ?
?for?? 循環(huán)從 ??start?? 到 ??end?? 遍歷每個(gè)數(shù)。 - 對(duì)于每個(gè)數(shù) ?
?i??,調(diào)用 ??isPrime?? 方法判斷其是否為素?cái)?shù)。
輸出素?cái)?shù):如果 ??i?? 是素?cái)?shù),輸出該數(shù)并增加 ??count??。
輸出總素?cái)?shù)數(shù)量:循環(huán)結(jié)束后,輸出總的素?cái)?shù)數(shù)量。
判斷素?cái)?shù)的方法 isPrime?:
- 如果 ?
?num?? 小于等于1,返回 ??false??(1不是素?cái)?shù))。 - 如果 ?
?num?? 等于2,返回 ??true??(2是最小的素?cái)?shù))。 - 如果 ?
?num?? 是偶數(shù)且不等于2,返回 ??false??(偶數(shù)除了2都不是素?cái)?shù))。 - 使用 ?
?for?? 循環(huán)從3開始,每次增加2(只檢查奇數(shù)),直到 ??Math.sqrt(num)??,如果 ??num?? 能被任何一個(gè)小于等于其平方根的數(shù)整除,則返回 ??false??。 - 如果以上條件都不滿足,返回 ?
?true??,表示 ??num?? 是素?cái)?shù)。
運(yùn)行結(jié)果
運(yùn)行上述程序,你將看到101到200之間的所有素?cái)?shù)及其總數(shù)。例如:
Prime numbers between 101 and 200 are:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
Total prime numbers between 101 and 200: 21
到此這篇關(guān)于使用java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出的文章就介紹到這了,更多相關(guān)java判斷素?cái)?shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java實(shí)現(xiàn)QQ登錄注冊(cè)功能的示例代碼
這篇文章主要和大家分享如何利用Java語言實(shí)現(xiàn)QQ登錄、注冊(cè)等功能。本文主要應(yīng)用的技術(shù)有:GUI、JDBC、多線程等,需要的可以參考一下2022-05-05
SpringMVC使用hibernate-validator進(jìn)行參數(shù)校驗(yàn)最佳實(shí)踐記錄
這篇文章主要介紹了SpringMVC使用hibernate-validator進(jìn)行參數(shù)校驗(yàn)最佳實(shí)踐,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
Java實(shí)現(xiàn)堆排序(大根堆)的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)堆排序(大根堆)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Java Validation Api如何實(shí)現(xiàn)自定義注解
這篇文章主要介紹了Java Validation Api如何實(shí)現(xiàn)自定義注解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09

