Java幾個實例帶你進階升華上篇
前言
本期Java基礎案例: 水仙花、猜數(shù)字、減肥計劃、不死神兔、評委打分
以下是本篇文章正文內容,僅供參考
一、案例1:水仙花
題目: 在控制臺輸出所有的水仙花數(shù)
什么是水仙花數(shù)?
- 水仙花是一個三位數(shù);
- 水仙花數(shù)的個位、十位、百位的數(shù)字立方和等于原數(shù)。
分析:
- 使用循環(huán)遍歷所有的三位數(shù)(100開始到999結束);
- 計算之前獲取三位數(shù)中的每個位上的值;
- 將三位數(shù)中的每個數(shù)值取出來,計算立方和并與原數(shù)值比較;
- 輸出水仙花數(shù)。
實踐:
代碼如下(示例):
public class Demo1 {
public static void main(String[] args) {
//不愛生姜不吃醋
//使用循環(huán)遍歷所有的三位數(shù)(100開始到999結束);
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ù)字,實用程序實現(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ù)字;
- 猜中后結束循環(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("恭喜你,猜中了!");
// 猜中后結束循環(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ù)組中的最高分(調用方法);
- 定義方法實現(xiàn)獲取數(shù)組中的最低分(調用方法);
- 定義方法實現(xiàn)數(shù)組中所偶有元素的和(調用方法);
- 按照計算規(guī)則計算得到平均分;
- 輸出平均分。
實踐:
定義方法實現(xiàn)獲取數(shù)組中的最高分(最后要調用方法);
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ù)組中的最低分(最后要調用方法);
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ù)組中所偶有元素的和(最后要調用方法);
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);
}
總結
本文五個Java案例分別用到了循環(huán)遍歷、隨機生成數(shù)、鍵盤錄入、switch語句和定義方法和調用方法。
到此這篇關于Java幾個實例帶你進階升華上篇的文章就介紹到這了,更多相關Java 實例內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述
這篇文章主要為大家介紹了Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03
Java編程實現(xiàn)從給定范圍內隨機N個不重復數(shù)生成隨機數(shù)的方法小結
這篇文章主要介紹了Java編程實現(xiàn)從給定范圍內隨機N個不重復數(shù)生成隨機數(shù)的方法,結合實例形式較為詳細的分析了java根據(jù)指定范圍生成不重復隨機數(shù)的相關操作技巧,需要的朋友可以參考下2017-04-04
SpringBoot中使用JeecgBoot的Autopoi導出Excel的方法步驟
這篇文章主要介紹了SpringBoot中使用JeecgBoot的Autopoi導出Excel的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
Java版數(shù)據(jù)結構插入數(shù)據(jù)時遇到的結點為空的問題詳解
這篇文章主要介紹了Java版數(shù)據(jù)結構插入數(shù)據(jù)時遇到的結點為空的問題及解決辦法,需要的朋友們可以學習下。2019-09-09

