一直以來(lái)堅(jiān)持不斷學(xué)習(xí)Java的一個(gè)重要原因是“興趣”。學(xué)習(xí)是痛苦的,不過(guò)在游戲中學(xué)習(xí)就不一樣了。
內(nèi)容:
猜數(shù)字游戲是一種簡(jiǎn)單的競(jìng)猜游戲,游戲中電腦隨機(jī)產(chǎn)生一個(gè)1到100之間的被猜整數(shù),玩家從鍵盤(pán)上反復(fù)輸入整數(shù)來(lái)進(jìn)行試猜。未猜中時(shí),電腦提示所猜數(shù)過(guò)大或過(guò)?。徊轮袝r(shí),指出猜的次數(shù)。
知識(shí)點(diǎn):
輸入輸出、隨機(jī)數(shù)、循環(huán)結(jié)構(gòu)、多分支結(jié)構(gòu)
這里就說(shuō)說(shuō)隨機(jī)數(shù)吧,其余都是基礎(chǔ)知識(shí)。
首先認(rèn)識(shí)下Math類(lèi)
Math類(lèi)是Java語(yǔ)言提供的標(biāo)準(zhǔn)工具類(lèi),其包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法,如初等指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)。這些方法基本上都是類(lèi)方法,可通過(guò)“Math.方法名”直接調(diào)用。
再說(shuō)說(shuō)random方法
random方法是Math類(lèi)中一個(gè)隨機(jī)數(shù)方法。其原型是:public static double random()。其返回帶正號(hào)的double值,該值大于等于 0.0 且小于 1.0。返回值是一個(gè)偽隨機(jī)選擇的數(shù),在該范圍內(nèi)(近似)均勻分布。
下面是random方法常見(jiàn)用法:
1、產(chǎn)生[a,b]之間的整數(shù)
(int)(Math.random()(b-a+1)+a)
例如:產(chǎn)生[1,10]之間的數(shù),(int)(Math.random()(10-1+1)+1)
2、產(chǎn)生(a,b)之間的整數(shù)
(int)(Math.random()(b-a-1)+a+1)
例如:產(chǎn)生(1,10)之間的數(shù),(int)(Math.random()(10-1-1)+1+1)
程序流程圖:
對(duì)于初學(xué)者來(lái)說(shuō),流程圖是一種整理自己思路的好工具。

程序代碼:
import java.util.Scanner;
/**
* 猜數(shù)字游戲
* @author LCS
*
*/
public class GuessGame {
public static void main(String[] args) {
Scanner key=new Scanner(System.in);
int n=(int)(Math.random()*100+1);//系統(tǒng)產(chǎn)生的隨機(jī)數(shù)
int m;//用戶(hù)猜的數(shù)字
int i=0;//記錄用戶(hù)猜的次數(shù)
System.out.println("歡迎使用猜數(shù)字游戲!");
//開(kāi)始游戲
do {
i++;
System.out.println("請(qǐng)輸入你猜的數(shù)字【1-100】:");
m=key.nextInt();
if(m==n) {
System.out.println("恭喜你,你猜對(duì)了!你共猜了"+i+"次。");
break;
}else if(m>n) {
System.out.println("錯(cuò)了,你猜大了!你共猜了"+i+"次。");
}else {
System.out.println("錯(cuò)了,你猜小了!你共猜了"+i+"次。");
}
}while(true);
}
}