Java幾個(gè)實(shí)例帶你進(jìn)階升華上篇
前言
本期Java基礎(chǔ)案例: 水仙花、猜數(shù)字、減肥計(jì)劃、不死神兔、評(píng)委打分
以下是本篇文章正文內(nèi)容,僅供參考
一、案例1:水仙花
題目: 在控制臺(tái)輸出所有的水仙花數(shù)
什么是水仙花數(shù)?
- 水仙花是一個(gè)三位數(shù);
- 水仙花數(shù)的個(gè)位、十位、百位的數(shù)字立方和等于原數(shù)。
分析:
- 使用循環(huán)遍歷所有的三位數(shù)(100開始到999結(jié)束);
- 計(jì)算之前獲取三位數(shù)中的每個(gè)位上的值;
- 將三位數(shù)中的每個(gè)數(shù)值取出來(lái),計(jì)算立方和并與原數(shù)值比較;
- 輸出水仙花數(shù)。
實(shí)踐:
代碼如下(示例):
public class Demo1 { public static void main(String[] args) { //不愛生姜不吃醋 //使用循環(huán)遍歷所有的三位數(shù)(100開始到999結(jié)束); for(int i=100;i<1000;i++){ // 計(jì)算之前獲取三位數(shù)中的每個(gè)位上的值; int ge=i%10; int shi=i/10%10; int bai=i/100%10; // 將三位數(shù)中的每個(gè)數(shù)值取出來(lái),計(jì)算立方和并與原數(shù)值比較; if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){ // 輸出水仙花數(shù)。 System.out.print(i+" "); } } } }
二、案例2:猜數(shù)字
題目:
程序自動(dòng)生成一個(gè)1-100之間的數(shù)字,實(shí)用程序?qū)崿F(xiàn)猜出這個(gè)數(shù)字是多少? 當(dāng)猜錯(cuò)的時(shí)候根據(jù)不同情況給出相應(yīng)的提示:
- 猜的數(shù)字比真實(shí)數(shù)字大,提示猜的數(shù)據(jù)大了;
- 猜的數(shù)字比真實(shí)數(shù)字小,提示猜的數(shù)小了;
- 猜的數(shù)字等于真實(shí)數(shù)字,提示恭喜猜中了。
分析:
- 使用隨機(jī)數(shù)生成該數(shù)字(范圍0-100);
- 使用循環(huán)反復(fù)進(jìn)行猜數(shù)字過程;
- 使用鍵盤錄入實(shí)現(xiàn)輸入的猜測(cè)數(shù)字;
- 比較猜測(cè)的數(shù)字與生成的數(shù)字;
- 猜中后結(jié)束循環(huán);
實(shí)踐:
代碼如下(示例):
public class Demo2 { public static void main(String[] args) { //不愛生姜不吃醋 // 使用隨機(jī)數(shù)生成該數(shù)字(范圍0-100); //需要導(dǎo)包import java.util.Random; Random r=new Random(); int num=r.nextInt(100)+1; // 使用循環(huán)反復(fù)進(jìn)行猜數(shù)字過程; while(true) { // 使用鍵盤錄入實(shí)現(xiàn)輸入的猜測(cè)數(shù)字; Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入你猜的數(shù)字:"); int s = sc.nextInt(); // 比較猜測(cè)的數(shù)字與生成的數(shù)字; if(s>num){ System.out.println("猜的數(shù)字大了!"); }else if(s<num){ System.out.println("猜的數(shù)字小了!"); }else{ System.out.println("恭喜你,猜中了!"); // 猜中后結(jié)束循環(huán); break; } } } }
三、案例3:減肥計(jì)劃
題目:
輸入星期數(shù),顯示今天的減肥計(jì)劃
分析:
- 鍵盤錄入一個(gè)星期數(shù),用一個(gè)變量接收;
- 使用switch語(yǔ)句進(jìn)行判斷;
- 輸出對(duì)應(yīng)的語(yǔ)句。
實(shí)踐:
代碼如下(示例):
public class Demo3 { public static void main(String[] args) { //不愛生姜不吃醋 // 鍵盤錄入一個(gè)星期數(shù),用一個(gè)變量接收; Scanner sc=new Scanner(System.in); System.out.println("請(qǐng)輸入星期數(shù):"); int week=sc.nextInt(); // 使用switch語(yǔ)句進(jìn)行判斷; switch(week){ case 1: System.out.println("今天的計(jì)劃是:跑步!"); break; case 2: System.out.println("今天的計(jì)劃是:爬山!"); break; case 3: System.out.println("今天的計(jì)劃是:游泳!"); break; case 4: System.out.println("今天的計(jì)劃是:騎自行車!"); break; case 5: System.out.println("今天的計(jì)劃是:拳擊!"); break; case 6: System.out.println("今天的計(jì)劃是:健美操!"); break; case 7: System.out.println("今天的計(jì)劃是:休息!"); break; default: System.out.println("輸入的星期數(shù)有誤!"); break; } } }
四、案例4:不死神兔
題目:
有一對(duì)兔子,從出生后第三個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問第十二個(gè)月的兔子對(duì)數(shù)為多少?
分析:
- 定義一個(gè)數(shù)組并進(jìn)行動(dòng)態(tài)初始化,長(zhǎng)度為20;
- 第一個(gè)月和第二個(gè)月兔子對(duì)數(shù)都是已知的,都為1;
- 用循環(huán)實(shí)現(xiàn)計(jì)算每個(gè)月的兔子對(duì)數(shù);
- 輸出數(shù)組中最后一個(gè)元素的值(就是第二十個(gè)月兔子的對(duì)數(shù))。
實(shí)踐:
代碼如下(示例):
public class Demo4 { public static void main(String[] args) { //不愛生姜不吃醋 // 定義一個(gè)數(shù)組并進(jìn)行動(dòng)態(tài)初始化,長(zhǎng)度為20; int[] arr=new int[20]; // 第一個(gè)月和第二個(gè)月兔子對(duì)數(shù)都是已知的,都為1; arr[0]=arr[1]=1; // 用循環(huán)實(shí)現(xiàn)計(jì)算每個(gè)月的兔子對(duì)數(shù); for(int i=2;i<arr.length;i++){ arr[i]=arr[i-2]+arr[i-1]; } // 輸出數(shù)組中最后一個(gè)元素的值(就是第二十個(gè)月兔子的對(duì)數(shù))。 System.out.println("第二十個(gè)月兔子的對(duì)數(shù)為:"+arr[19]); } }
五、案例5:評(píng)委打分
題目: 在比賽中,有6個(gè)評(píng)委為參賽的選手打分,分?jǐn)?shù)為0-100的整數(shù)分,選手的最后得分為:去掉一個(gè)最高分和一個(gè)最低分后的4個(gè)評(píng)委打分的平均值(不考慮小數(shù)部分)。
分析:
- 定義一個(gè)數(shù)組,用動(dòng)態(tài)初始化完成數(shù)組元素的初始化,長(zhǎng)度為6;
- 鍵盤錄入評(píng)委分?jǐn)?shù);
- 用循環(huán)改進(jìn)的方法接受評(píng)委的分?jǐn)?shù);
- 定義方法實(shí)現(xiàn)獲取數(shù)組中的最高分(調(diào)用方法);
- 定義方法實(shí)現(xiàn)獲取數(shù)組中的最低分(調(diào)用方法);
- 定義方法實(shí)現(xiàn)數(shù)組中所偶有元素的和(調(diào)用方法);
- 按照計(jì)算規(guī)則計(jì)算得到平均分;
- 輸出平均分。
實(shí)踐:
定義方法實(shí)現(xiàn)獲取數(shù)組中的最高分(最后要調(diào)用方法);
public static int getMax(int[] arr){ int x=arr[0]; for(int a=1;a<arr.length;a++){ if(x < arr[a]){ x=arr[a]; } } return x; }
定義方法實(shí)現(xiàn)獲取數(shù)組中的最低分(最后要調(diào)用方法);
public static int getMin(int[] arr){ int b=arr[0]; for(int y=1;y<arr.length;y++){ if(b > arr[y]){ b=arr[y]; } } return b; }
定義方法實(shí)現(xiàn)數(shù)組中所偶有元素的和(最后要調(diào)用方法);
public static int getSum(int[] arr){ int sum=0; for(int c=0;c<arr.length;c++){ sum+=arr[c]; } return sum; }
主方法編寫。
public static void main(String[] args) { //不愛生姜不吃醋 // 定義一個(gè)數(shù)組,用動(dòng)態(tài)初始化完成數(shù)組元素的初始化,長(zhǎng)度為6; int[] arr=new int[5]; // 鍵盤錄入評(píng)委分?jǐn)?shù) Scanner sc=new Scanner(System.in); // 用循環(huán)改進(jìn)的方法接受評(píng)委的分?jǐn)?shù); for(int i=0;i<arr.length;i++){ arr[i]=sc.nextInt(); } // 按照計(jì)算規(guī)則計(jì)算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 輸出平均分。 System.out.println("最終得分為:"+ avg); }
總結(jié)
本文五個(gè)Java案例分別用到了循環(huán)遍歷、隨機(jī)生成數(shù)、鍵盤錄入、switch語(yǔ)句和定義方法和調(diào)用方法。
到此這篇關(guān)于Java幾個(gè)實(shí)例帶你進(jìn)階升華上篇的文章就介紹到這了,更多相關(guān)Java 實(shí)例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手動(dòng)實(shí)現(xiàn)將本地jar添加到Maven倉(cāng)庫(kù)
這篇文章主要介紹了手動(dòng)實(shí)現(xiàn)將本地jar添加到Maven倉(cāng)庫(kù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述
這篇文章主要為大家介紹了Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Java編程實(shí)現(xiàn)從給定范圍內(nèi)隨機(jī)N個(gè)不重復(fù)數(shù)生成隨機(jī)數(shù)的方法小結(jié)
這篇文章主要介紹了Java編程實(shí)現(xiàn)從給定范圍內(nèi)隨機(jī)N個(gè)不重復(fù)數(shù)生成隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了java根據(jù)指定范圍生成不重復(fù)隨機(jī)數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04關(guān)于Spring源碼深度解析(AOP功能源碼解析)
這篇文章主要介紹了關(guān)于Spring源碼深度解析(AOP功能源碼解析),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07SpringBoot中使用JeecgBoot的Autopoi導(dǎo)出Excel的方法步驟
這篇文章主要介紹了SpringBoot中使用JeecgBoot的Autopoi導(dǎo)出Excel的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Java版數(shù)據(jù)結(jié)構(gòu)插入數(shù)據(jù)時(shí)遇到的結(jié)點(diǎn)為空的問題詳解
這篇文章主要介紹了Java版數(shù)據(jù)結(jié)構(gòu)插入數(shù)據(jù)時(shí)遇到的結(jié)點(diǎn)為空的問題及解決辦法,需要的朋友們可以學(xué)習(xí)下。2019-09-09java實(shí)現(xiàn)潛艇大戰(zhàn)游戲源碼
潛艇大戰(zhàn)游戲相信大家都玩過,是一款非常有趣的小游戲,那么基于代碼是如何實(shí)現(xiàn)的呢?今天小編給大家?guī)?lái)一篇教程幫助大家學(xué)習(xí)java實(shí)現(xiàn)潛艇大戰(zhàn)游戲,感謝的朋友一起看看吧2021-06-06