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