java的关于流程结构做的几个案例
生活随笔
收集整理的這篇文章主要介紹了
java的关于流程结构做的几个案例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ?最近在學(xué)習(xí)中,做了一個java的幾個案例,主要是九九乘法口訣,實心菱形和空心菱形的算法,模擬彩票程序以及BMI的測試標(biāo)準(zhǔn)等小案例。
? ? ? ? 一:九九乘法表
?
/*** 九九乘法口訣*/public static void main(String[] args) {int sum = 0; // sum是乘法的結(jié)果for (int i = 1; i <= 9; i++) {for (int n = 1; n <= i; n++) {sum = i * n;System.out.print(n+"*"+i+"="+sum+"\t");}System.out.println("\n");}}? ? ? ?二:空心菱形和實心菱形
?
? ? ??
/*** 輸出的實心菱形和空心菱形的算法*/public static void main(String[] args) {int hangshu = 11; int yiban = hangshu / 2 + 1; int yibanduo = hangshu / 2; System.out.println("空心菱形:"); for(int k = 1;k <= yiban;k++){ for(int i = 1;i <= (yiban - k);i++){ System.out.print(" "); } System.out.print("*"); for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){ System.out.print(" "); } if(k != 1){ System.out.print("*"); } System.out.println(); } for(int k = yibanduo;k >=1;k--){ for(int i = 1;i <= (yiban - k);i++){ System.out.print(" "); } System.out.print("*"); for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){ System.out.print(" "); } if(k != 1){ System.out.print("*"); } System.out.println(); } System.out.println("實心菱形:"); for(int i = 1;i <= hangshu;i++){ if(i <= hangshu/2 + 1){ for(int k = 1;k <= hangshu/2 + 1- i;k++){ System.out.print(" "); } for(int k = 1;k <= i;k++){ System.out.print("* "); } System.out.println(); }else{ for(int k =1;k <= (i -(hangshu/2 + 1));k++){ System.out.print(" "); } for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){ System.out.print("* "); } System.out.println(); } } }? ? ? ? ? ? ? 三 :BMI的測試標(biāo)準(zhǔn)
?
?
import java.io.*; public class WeightTest {/*測試你的體重的標(biāo)準(zhǔn)BMI的測試標(biāo)準(zhǔn) 標(biāo)準(zhǔn)體重:22* 身高的平方(米)體重指數(shù):體重公斤/身高的平方正常體重:體重指數(shù)18-25超重 :體重指數(shù)25-30輕度肥胖:體重指數(shù)>30中度肥胖:體重指數(shù)>35重度肥胖: 體重指數(shù)>40*//* testWeight 封裝了BMI測試的方法 */public void testWeight() throws IOException{/* 獲得輸入的體重,身高 */InputStreamReader ist = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(ist);//創(chuàng)建字符流對x象System.out.println("請輸入體重(單位公斤)");String w = br.readLine();//讀取體重System.out.println("請輸入身高(單位為米)");String h = br.readLine();//讀取身高/* 把從鍵盤輸入的身高轉(zhuǎn)換成double類型*/double weight = Double.parseDouble(w);double high = Double.parseDouble(h);/*計算對應(yīng)的標(biāo)準(zhǔn)體重和體重指數(shù)*/double nomalWeight = 22 * high * high;//計算對應(yīng)的標(biāo)準(zhǔn)體重double BMI = weight/(high*high);//體重指數(shù)System.out.println("你身高對應(yīng)的標(biāo)準(zhǔn)體重是"+nomalWeight+"\n");System.out.println("你的體重指數(shù)"+BMI+"\n");/* 你的體重標(biāo)準(zhǔn)*/if(BMI>=18&&BMI<=25.0)System.out.println("你的體重很標(biāo)準(zhǔn),繼續(xù)保持!"+"\n");else if(BMI>25&&BMI<=30)System.out.println("你的體重有點超重,請注意哦!"+"\n");else if (BMI>30&&BMI<=35)System.out.println("你的體重有點輕度肥胖,應(yīng)該注意鍛煉身體哦!"+"\n");else if (BMI>35&&BMI<=40)System.out.println("你的體重有點中度肥胖,要經(jīng)常鍛煉身體哦!"+"\n");else if (BMI>40)System.out.println("你的體重有點重度肥胖,應(yīng)該加強(qiáng)鍛煉身體哦!"+"\n");else System.out.println("沒有可靠的數(shù)據(jù),請確認(rèn)數(shù)據(jù)是否正確!"+"\n");}/* testContinue 判斷是否繼續(xù)執(zhí)行程序*/public boolean testContinue() throws IOException{InputStreamReader ist = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(ist);//創(chuàng)建字符流對x象String result = null; //用來獲取result來的對象boolean bool = false;while(true){System.out.println("是否繼續(xù)測試你的體重指數(shù)(yes/no)");result = br.readLine(); if(result.equalsIgnoreCase("yes")){ bool = true;break;}else if(result.equalsIgnoreCase("no")){bool = false;break ;}else{System.out.println("輸入的數(shù)據(jù)只能是yes/no,請重新輸入!");continue;}}return bool ;}public static void main(String[] args) throws IOException{ boolean boole = false;//創(chuàng)建boolean對象,判斷是否執(zhí)行語句!WeightTest wt = new WeightTest();//創(chuàng)建WeightTest對象//執(zhí)行測試體重do{wt.testWeight();boole = wt.testContinue();}while(boole);System.out.println("謝謝你的使用,祝福你天天有一個好心情!");} }? ? ? ? ? ?在這個程序中可以多次循環(huán)來測試多人的體重指數(shù),但是在循環(huán)語句編寫時有點繁瑣,其實可以使用遞歸的算法來解決。在這里就不在編寫了。來通過下面的那個例子來看一下遞歸的使用
?
? ? ? ? ? 四 :模擬彩票程序
?
import java.util.Scanner;public class LotterTickerTest {/*** 這個程序主要實現(xiàn)了的是模擬隨機(jī)彩票的程序。它可以選擇從35位整數(shù)中選擇六位* 數(shù)字為一組數(shù)字。首先在先從鍵盤輸入1-5的數(shù)字,確定產(chǎn)生的隨機(jī)數(shù)字。從35位* 數(shù)中產(chǎn)生6為數(shù)字,存放在數(shù)組中。數(shù)組可以存放相同類型的數(shù)據(jù)。*/public static void main(String[] args) {int number = 0;Scanner input = new Scanner(System.in);System.out.println("請輸入一個數(shù)字1-5"); String s = input.next();number = Integer.parseInt(s);//把輸入的數(shù)字轉(zhuǎn)換成int類型的if(number<=5){int m = 0 ;//初始化彩票輸入的次數(shù)int a[] = new int[6];//創(chuàng)建一個一個長度為6的數(shù)組for(int i = 0;i<number;i++){m= m+1 ;//第一次隨機(jī)的產(chǎn)生的彩票數(shù)字/** n 代表的是 數(shù)組的下標(biāo)*/for(int n= 0;n<6;n++){a[n]= (int)(Math.random()*35+1);//進(jìn)行隨機(jī)產(chǎn)生35以內(nèi)的數(shù)字,存在數(shù)組中//如果產(chǎn)生的數(shù)字相同,則i-1,重新選擇數(shù)據(jù) for(int j = 0 ;j<n;j++){if(a[n]==a[j]){n--;continue;}}}//在第一次產(chǎn)生的彩票號碼之前打出號碼if(m==1)System.out.println("35選6的號碼是:");else System.out.println("");//循環(huán)遍歷彩票的號碼for(int k = 0 ;k<6;k++){System.out.print(a[k]+"\t");}}}else{System.out.println("輸入的數(shù)字超出范圍,請重新輸入!");}}}? ? ? ?下面的這個程序主要有遞歸的使用,主要用于輸入時的數(shù)字超出范圍。在下面的會重點標(biāo)出。
?
?
import java.util.Scanner;public class LotterTickerTest {/*** 這個程序主要實現(xiàn)了的是模擬隨機(jī)彩票的程序。它可以選擇從35位整數(shù)中選擇六位* 數(shù)字為一組數(shù)字。首先在先從鍵盤輸入1-5的數(shù)字,確定產(chǎn)生的隨機(jī)數(shù)字。從35位* 數(shù)中產(chǎn)生6為數(shù)字,存放在數(shù)組中。數(shù)組可以存放相同類型的數(shù)據(jù)。*/public void randomTest(){int number = 0;Scanner input = new Scanner(System.in);System.out.println("請輸入一個數(shù)字1-5"); String s = input.next();number = Integer.parseInt(s);//把輸入的數(shù)字轉(zhuǎn)換成int類型的if(number<=5){int m = 0 ;//初始化彩票輸入的次數(shù)int a[] = new int[6];//創(chuàng)建一個一個長度為6的數(shù)組for(int i = 0;i<number;i++){m= m+1 ;//第一次隨機(jī)的產(chǎn)生的彩票數(shù)字/** n 代表的是 數(shù)組的下標(biāo)*/for(int n= 0;n<6;n++){a[n]= (int)(Math.random()*35+1);//進(jìn)行隨機(jī)產(chǎn)生35以內(nèi)的數(shù)字,存在數(shù)組中//如果產(chǎn)生的數(shù)字相同,則i-1,重新選擇數(shù)據(jù) for(int j = 0 ;j<n;j++){if(a[n]==a[j]){n--;continue;}}}//在第一次產(chǎn)生的彩票號碼之前打出號碼if(m==1)System.out.println("35選6的號碼是:");else System.out.println("");//循環(huán)遍歷彩票的號碼for(int k = 0 ;k<6;k++){System.out.print(a[k]+"\t");}}}else{System.out.println("輸入的數(shù)字超出范圍,請重新輸入!");randomTest();}}public static void main(String[] args) {LotterTickerTest lt = new LotterTickerTest();lt.randomTest();}}? ? ? ? ??
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/pangblog/p/3424056.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的java的关于流程结构做的几个案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于visual Studio2013解
- 下一篇: HDU 2421