【JavaSE04】Java中循环语句for,while,do···while-练习2
生活随笔
收集整理的這篇文章主要介紹了
【JavaSE04】Java中循环语句for,while,do···while-练习2
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.編寫一個(gè)剪子石頭布對(duì)戰(zhàn)小程序
該法是窮舉法:將所有情況列出來(lái)
import java.util.*;public class Game{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println("經(jīng)典小游戲:剪刀石頭布");System.out.println("游戲規(guī)則:1:剪刀;2:石頭;3:布");System.out.println("您的起始分?jǐn)?shù)為:10分");int score=10;System.out.println("請(qǐng)輸入要大戰(zhàn)幾百回合:");int count=input.nextInt();//外層我出的什么for(int i=1;i<=count;i++){System.out.println("請(qǐng)出拳:");//玩家出拳int fist=input.nextInt();//電腦出拳int computer=(int)(Math.random()*3)+1;//考慮電腦產(chǎn)生隨機(jī)數(shù)的原理,可以擴(kuò)大取值范圍,但只使用中間的三個(gè)數(shù)值//如變?yōu)?—9,但只用456,此時(shí)需要將規(guī)則換為:4:剪刀;5:石頭;6:布//只需要在switch的外層加一個(gè)if判斷條件,限制computer取值:computer>=4&&computer<=6;即可//與電腦PK比較switch(fist){case 1:if(computer==1){System.out.println("你們打平了,電腦出的剪刀");}else if(computer==2){System.out.println("你輸了,電腦出的石頭!");score--;}else{System.out.println("你贏了,電腦出的布!");score++;}break;case 2:if(computer==1){System.out.println("你贏了,電腦出的剪刀!");score++;}else if(computer==2){System.out.println("你們打平了,電腦出的石頭!");}else{System.out.println("你輸了,電腦出的布!");score--;}break;case 3:if(computer==1){System.out.println("你輸了,電腦出的剪刀");score--;}else if(computer==2){System.out.println("你贏了,電腦出的石頭!");score++;}else{System.out.println("你們打平了,電腦出的布!");}break;}}System.out.println("您最后的得分為:"+score);}}方法二:只需要比較
import java.util.Scanner;public class Test6{public static void main(String[] args){//做一個(gè)剪刀石頭布的對(duì)戰(zhàn)小程序//1代表剪刀,2代表石頭,3代表布Scanner input=new Scanner(System.in);int computer=(int)(Math.random()*3)+1;//方案一:下面是無(wú)限循環(huán),還以優(yōu)化,由用戶開控制玩的局?jǐn)?shù)//考慮電腦產(chǎn)生隨機(jī)的概率問題,可以將取值范圍變?yōu)?-5,我們用2,3,4來(lái)代表特定的含義,遇到1和5就舍棄for(;;){System.out.println("來(lái)玩剪刀石頭布吧!1代表剪刀,2代表石頭,3代表布,請(qǐng)輸入:");int pk=input.nextInt();if((pk==1&&computer==3)||(pk==3&&computer==1)){if(pk>computer){System.out.println("你出的:"+pk+",電腦出的:"+computer+",你贏了");}else{System.out.println("你出的:"+pk+",電腦出的:"+computer+",電腦贏了");}}else if(pk==computer){System.out.println("你出的:"+pk+",電腦出的:"+computer+",你們不分上下");}else{if(pk<computer){System.out.println("你出的:"+pk+",電腦出的:"+computer+",你贏了");}else{System.out.println("你出的:"+pk+",電腦出的:"+computer+",電腦贏了");}}}//最笨的方法:將9種情況用if···else羅列出來(lái)} }2.要求循環(huán)錄入2個(gè)班的學(xué)員成績(jī)
假設(shè)每個(gè)班都有3個(gè)學(xué)員,依次錄入,統(tǒng)計(jì)超過90分的學(xué)員人數(shù),以及這批超過90分的學(xué)員平均分。
總結(jié)
以上是生活随笔為你收集整理的【JavaSE04】Java中循环语句for,while,do···while-练习2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JavaSE05】Java中方法与重载
- 下一篇: 【JavaSE05】Java中方法与重载