猜数字游戏GuessNumber version1.0

2014-12-09

17:42:20

  系统给定一个四位数。您有5次猜数机会,每次您可输入一个四位数,系统判断后会给出一个字符串,字符串由T、F、C表示。T表示该位上的数字是正确的;C表示该位上的数字存在这个四位数中,但位置错误;F表示该位上的数字是错误的,即不存在这个四位数中。

  程序代码如下:

 1 /** 
 2  * @author nlee
 3  * @version 2:58:11 PM Dec 9, 2014
 4  */
 5 package guessNum;
 6 
 7 import java.util.Scanner;
 8 
 9 public class GuessNum
10 {
11     public static void main(String[] args)
12     {
13         // 1.生成正确答案
14         String correctAnswer = "";
15         // 生成四个一位随机数,并将其转换成String类型
16         for (int i = 0; i < 4; i++)
17         {
18             int a = (int) (Math.random() * 10);
19             correctAnswer += a;
20         }
21         // System.out.println(correctAnswer);
22 
23         Scanner in = new Scanner(System.in);
24         // 输入上限为5次
25         int times = 5;
26         for (int j = 0; j < times; j++)
27         {
28             System.out.println("You have " + (times - j) + " times, "
29                     + "please entry your number(four figures):");
30             // 2.输入猜测的数字
31             String num = in.next();
32             // num与correctAnswer的比较结果
33             String implynum = "";
34             // 3.比较num与correctAnswer
35             for (int i = 0; i < 4; i++)
36             {
37                 if (correctAnswer.charAt(i) == num.charAt(i))
38                 {
39                     implynum += "T";
40                 }
41                 else
42                     // 判断correctAnswer是否包含num.charAt(i)这个数字
43                     if (correctAnswer.contains(((CharSequence) ("" + num
44                             .charAt(i)))))
45                     {
46                         implynum += "C";
47                     }
48                     else
49                     {
50                         implynum += "F";
51                     }
52             }
53             System.out.println(implynum);
54             // 如果implynum等于“TTTT”,表明猜对了,结束循环
55             if (implynum.equals("TTTT"))
56             {
57                 System.out
58                         .println("\nCorrect Answer!\nCongratulations!\nYou have succeed!");
59                 break;
60             }
61             else
62                 // 如果implynum不等于“TTTT”, 并且猜测次数也达到上限,表明游戏失败
63                 if (j == (times - 1))
64                 {
65                     System.out.println("\nYou have failed!\nGame over!");
66                     System.out.println("\nCorrect Answer is: " + correctAnswer);
67                 }
68                 else
69                 {
70                     System.out.println("Wrong Answer!\nPlease try again!\n");
71                 }
72         }
73     }
74 }

 

posted @ 2014-12-09 17:49  Coder816  阅读(549)  评论(0编辑  收藏  举报