import java.util.Scanner;
public class GuessNumber03 {
public static void main(String[] args) {
int a, b, c, d;// 四位數字a , b , c , d
a = (int) (Math.random() * (9)) + 1;// 1~9 , 首位數不為零.
b = (int) (Math.random() * (10));// 0~9
c = (int) (Math.random() * (10));// 0~9
d = (int) (Math.random() * (10));// 0~9
String str = String.valueOf(a) + String.valueOf(b) + String.valueOf(c)
+ String.valueOf(d);// 把電腦產生的隨機數字 , 組合成字串.
String ans = "";// 儲存使用者猜的答案
Scanner sc = new Scanner(System.in);// 從命令列讀取輸入的值.
boolean check = false;// 預設為沒有猜到答案.
System.out.println("請輸入四個數字,數字對且位置正確得A,位置錯誤得B");
int count = 0;// 紀錄猜的次數
while (++count <= 10) { // 限制猜的次數到10次沒答對自動結束
while (!check) {// 如果沒答對 , 則繼續猜
ans = sc.next();// 讀取使用者輸入的數字.
String[] ansTmp = ans.split("");// 把答案abcd,分開存入暫存的字串陣列.
String[] inTmp = str.split("");// 把電腦的答案,分開存入暫存的字串陣列.
int A = 0;
int B = 0;
for (int i = 0; i < ansTmp.length; i++) {// 逐各取出使用者的答案.
for (int j = 0; j < ansTmp.length; j++) {// 逐各取出使用者的答案 ,
// 拿來和電腦的答案比對.
if (inTmp[j].equals(ansTmp[i]) && i == j)// 假如位置一樣且數字一樣
// , a++
A++;
else if (inTmp[j].equals(ansTmp[i]) && i != j)// 有數字但是位置不一樣.b++
B++;
}
}
System.out.println("判斷結果" + A + "A" + B + "B");
if (A == 4)// 假如4A,
check = true;// 設定猜到答案
if (A == 4 & B == 0)// 假如4A且B等於零 , 則印出,恭喜你,答對ㄌ
System.out.println("恭喜你,答對ㄌ");
break;
}
}
System.out.println("遊戲結束");
}
}
網頁
BloggerAds 廣告
標籤
- Java (96)
- Android (27)
- 演算法 (21)
- c++ (19)
- JavaScript (7)
- OpenMp (6)
- Design Pattern (4)
- 日文歌曲 (4)
- 資料結構 (4)
- Foundation Knowledge Of Programming (3)
- QUT (2)
- CodingHomeWork (1)
- Database (1)
- 英文歌詞 (1)
搜尋此網誌
2013年6月16日 星期日
求 JAVA 程式碼註解
訂閱:
張貼留言 (Atom)
我的網誌清單
標籤
日文歌曲
(4)
股市
(7)
股票
(9)
英文歌詞
(1)
時事
(1)
硬體(hardware)
(1)
資料結構
(4)
演算法
(21)
數學(Math)
(4)
ACM
(3)
ajax
(7)
algorithms
(1)
Android
(27)
Blog Notes(部落格記事)
(6)
C
(9)
c++
(19)
CodingHomeWork
(1)
Database
(1)
Design Pattern
(4)
Foundation Knowledge Of Programming
(3)
GWT
(1)
How
(2)
J2EE
(1)
Java
(96)
Java語言
(4)
JavaScript
(7)
Leetcode
(4)
LOL
(1)
OpenMp
(6)
QUT
(2)
Uva
(2)
Yahoo知識問答
(11)
沒有留言:
張貼留言