Java基礎(chǔ)入門(mén)篇之邏輯控制練習(xí)題與猜數(shù)字游戲
1. if語(yǔ)句練習(xí)
判斷一個(gè)年份是否為閏年
int year = 2000; if (year % 100 == 0) { // 判定世紀(jì)閏年 if (year % 400 == 0) { System.out.println("是閏年"); } else { System.out.println("不是閏年"); } } else { // 普通閏年 if (year % 4 == 0) { System.out.println("是閏年"); } else { System.out.println("不是閏年"); } }
2. while循環(huán)練習(xí)
1. 計(jì)算 5 的階乘
5!= 5 * 4 * 3 * 2 * 1
int n = 1; int ret = 1; while(n <= 5){ ret = ret * n; n++; } System.out.println(ret);
運(yùn)行結(jié)果:
2. 計(jì)算 1! + 2! + 3! + 4! + 5!
我們基于上一題的代碼,在寫(xiě)一個(gè)循環(huán),使得可以求到5的階乘,再把他們相加,代碼如下所示:
int k =1; int sum = 0; // 外層循環(huán)負(fù)責(zé)求階乘的和 while(k <= 5) { int n = 1; int ret = 1; // 里層循環(huán)負(fù)責(zé)完成求階乘的細(xì)節(jié). while (n <= k) { ret = ret * n; n++; } k++; sum = sum + ret; } System.out.println(sum);
運(yùn)行結(jié)果:
3. for循環(huán)練習(xí)
1. 計(jì)算 5 的階乘
int result = 1; for (int i = 1; i <= 5; i++) { result *= i; } System.out.println("result = " + result);
運(yùn)行結(jié)果:
2. 計(jì)算 1! + 2! + 3! + 4! + 5!
int sum = 0; for (int i = 1; i <= 5; i++) { int tmp = 1; for (int j = 1; j <= i; j++) { tmp *= j; } sum += tmp; } System.out.println("sum = " + sum);
運(yùn)行結(jié)果:
4.總結(jié)練習(xí)
1. 判定一個(gè)數(shù)字是否是素?cái)?shù)
如果能夠整除2~根號(hào)n之間所有的數(shù),那么他就不是素?cái)?shù)
代碼演示:
public class TestDemo { public static void main(String[] args) { int n = 19; int i = 2; for (; i <=Math.sqrt(n) ; i++) { if (n % i == 0){ break; } } //有兩種情況 1、 不符合循環(huán)條件 2、因?yàn)橛龅搅?break if (i > Math.sqrt(n)){ System.out.println(n + " 是素?cái)?shù)! "); } } }
運(yùn)行結(jié)果:
2. 打印 1 - 100 之間所有的素?cái)?shù)
for (int n = 1; n <= 100; n++) { //int n = 9; int i = 2; for (; i <= Math.sqrt(n); i++) { if(n % i == 0) { break; } } //有幾種情況 ? 2--》 1、 不符合循環(huán)條件 2、因?yàn)橛龅搅?break if(i > Math.sqrt(n)) { System.out.println(n + " 是素?cái)?shù)! "); } }
打印結(jié)果:
3. 求出0~999之間的所有“水仙花數(shù)”并輸出。
(“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字的立方和確好等于該數(shù)本身,如: 153=13+53+3^3 ,則153是一個(gè)“水仙花數(shù)”。)
我們先來(lái)了解一下水仙花數(shù)是什么,如圖所示:
常見(jiàn)的水仙花數(shù):
代碼演示:
for (int i = 1; i <= 999999; i++) { //i == 123 int count = 0;//記錄位數(shù) int tmp = i; while (tmp != 0) { tmp /= 10; count++; } tmp = i;//123 int sum = 0; while (tmp != 0) { sum += Math.pow(tmp % 10, count); tmp /= 10; } if (sum == i) { System.out.println(i); } }
獲取一個(gè)數(shù)二進(jìn)制序列中所有的偶數(shù)位和奇數(shù)位,分別輸出二進(jìn)制序列。
代碼演示:
int n = -1; int count = 0; while (n != 0) { n = n & (n-1); count++; } System.out.println(count);
5.猜數(shù)字游戲
public class TestDemo { public static void main(String[] args) { Random random = new Random(); Scanner scanner = new Scanner(System.in); int randNum = random.nextInt(101);//[0,101) //50-100的隨機(jī)數(shù) random.nextInt(50)--[0,50) + 50; while(true){ System.out.println("請(qǐng)輸入你要猜的數(shù)字"); int sum = scanner.nextInt(); if(sum < randNum){ System.out.println("猜小了"); }else if(sum == randNum){ System.out.println("猜對(duì)了"); break; }else{ System.out.println("猜大了"); } } } }
運(yùn)行結(jié)果:
總結(jié)
到此這篇關(guān)于Java基礎(chǔ)入門(mén)篇之邏輯控制練習(xí)題與猜數(shù)字游戲的文章就介紹到這了,更多相關(guān)Java邏輯控制練習(xí)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Struts2學(xué)習(xí)筆記(1)-入門(mén)教程
本文是一個(gè)Struts2的簡(jiǎn)單入門(mén)教程,比較簡(jiǎn)單,希望能給大家做一個(gè)參考。2016-06-06Java?工具類(lèi)實(shí)現(xiàn)音頻音量提升
本文主要介紹了可以將音頻提升音量的一個(gè)java工具類(lèi)示例代碼,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴來(lái)了解一下吧,,希望能夠給你帶來(lái)幫助2021-11-11Java實(shí)現(xiàn)bmp和jpeg圖片格式互轉(zhuǎn)
本文主要介紹了Java實(shí)現(xiàn)bmp和jpeg圖片格式互轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04SpringBoot?實(shí)現(xiàn)CAS?Server統(tǒng)一登錄認(rèn)證的詳細(xì)步驟
??CAS(Central?Authentication?Service)中心授權(quán)服務(wù),是一個(gè)開(kāi)源項(xiàng)目,目的在于為Web應(yīng)用系統(tǒng)提供一種可靠的單點(diǎn)登錄,這篇文章主要介紹了SpringBoot?實(shí)現(xiàn)CAS?Server統(tǒng)一登錄認(rèn)證,需要的朋友可以參考下2024-02-02如何把char數(shù)組轉(zhuǎn)換成String
這篇文章主要介紹了如何把char數(shù)組轉(zhuǎn)換成String問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02解析SpringSecurity+JWT認(rèn)證流程實(shí)現(xiàn)
這篇文章主要介紹了解析SpringSecurity+JWT認(rèn)證流程實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java 根據(jù)貸款年限對(duì)應(yīng)利率計(jì)算功能實(shí)現(xiàn)解析
這篇文章主要介紹了Java 根據(jù)貸款年限對(duì)應(yīng)利率計(jì)算功能實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Java Swing樹(shù)狀組件JTree用法實(shí)例詳解
這篇文章主要介紹了Java Swing樹(shù)狀組件JTree用法,結(jié)合具體實(shí)例形式分析了Swing組件JTree構(gòu)成樹(shù)狀列表的節(jié)點(diǎn)設(shè)置與事件響應(yīng),以及自定義圖形節(jié)點(diǎn)的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11