前十五天中,我們迅速看過了Java的型態、陣列與字串、Collection與Map以及I/O和執行緒,算是暫時告了一段落,在進入到小專案實作前,我們來練習個幾題題目吧!
Q1: 請設計一隻程式,會亂數產生一個0~9的數字,然後可以玩猜數字遊戲,猜錯會顯示錯誤訊息,猜對則顯示正確訊息,如圖示結果:
先別急著想程式怎麼寫,我們先來想程式的流程。
既然是猜數字,就應該會需要answer答案以及guess猜的數字這兩個變數,除此之外,有注意到也必須要把回合的過程印出來嗎? 因此,還必須要有一個Count的變數來記錄現在正在進行的回合。
大概想了流程後,我們可以將這個題目轉化為以下步驟。
Step1. 亂數產生一個答案
Step2. 亂數產生一個猜的數字,並進入迴圈,直到猜對
Step3. 在迴圈進行時,需要紀錄現在正在進行的回合,當猜錯時顯示錯誤訊息,猜對時顯示正確訊息。
再來把以上流程轉換為Java的程式碼。
public static void main(String[] args) {
Random ran = new Random();
int ans = ran.nextInt(10);
int count = 1;
System.out.println("答案是: " + ans);
System.out.println("--------------");
int guess = ran.nextInt(10);
while(ans!=guess) {
System.out.println("第" + count + " 回合");
guess = ran.nextInt(10);
System.out.println("猜:" + guess);
if(guess!=ans) {
System.out.println("猜錯囉!");
}else {
System.out.println("答對了!");
}
System.out.println("--------------");
count++;
}
}
是不是沒有想像中難呢?
其實寫程式就是把你腦中的邏輯及步驟轉換成電腦看得懂的語言而已。
See u tomorrow。
Hi, I am Grant.
個人部落格 - https://grantliblog.wordpress.com/
個人網站 - https://grantli-website.netlify.app/#/mainpage
我的寫作專題 - https://vocus.cc/user/5af2e9b5fd89780001822db4#