숫자 맞 추기 게임 GuessNumber verison 1.1

4055 단어 number
숫자 맞 추기 게임 GuessNumber version 1.1
version1.0: http://www.cnblogs.com/Coder816/p/4153816.html         1.0 버 전에 서 는 시스템 이 만 든 정 답 에 같은 숫자 가 나 올 때 가 있다. 그러면 5 번 의 기회 에 정 답 을 맞 히 지 못 할 수도 있 고 게임 은 불합리 해 보인다.따라서 1.1 버 전에 서 해당 코드 를 다음 과 같이 바 꾸 었 다.

        // 1.      
        String correctAnswer = "";
        //          ,      String  
        for (int i = 0; i < 4; i++)
        {
            int a;
            //     a    correctAnswer ,        
            do
            {
                a = (int) (Math.random() * 10);
            }
            while (correctAnswer.contains(((CharSequence) ("" + a))));
            correctAnswer += a;
        }
        // System.out.println(correctAnswer);
        이 동시에 입력 흐름 도 포장 했다. 다음 과 같다.

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

            // 2.       
            String num = "";
            try
            {
                num = br.readLine();
            }
            catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        수 정 된 전체 코드 는 다음 과 같 습 니 다.

/* * @author nlee * @version 2:58:11 PM Dec 9, 2014 /
package guessNum;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class GuessNum
{
    public static void main(String[] args)
    {
        // 1.      
        String correctAnswer = "";
        //          ,      String  
        for (int i = 0; i < 4; i++)
        {
            int a;
            //     a    correctAnswer ,        
            do
            {
                a = (int) (Math.random() * 10);
            }
            while (correctAnswer.contains(((CharSequence) ("" + a))));
            correctAnswer += a;
        }
        // System.out.println(correctAnswer);
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    //      5 
    int times = 5;
    for (int j = 0; j < times; j++)
    {
        System.out.println("You have " + (times - j) + " times, "
                + "please entry your number(four figures):");
        // 2.       
        String num = "";
        try
        {
            num = br.readLine();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // num correctAnswer     
        String implynum = "";
        // 3.  num correctAnswer
        for (int i = 0; i < 4; i++)
        {
            if (correctAnswer.charAt(i) == num.charAt(i))
            {
                implynum += "T";
            }
            else
                //   correctAnswer    num.charAt(i)    
                if (correctAnswer.contains(((CharSequence) ("" + num
                        .charAt(i)))))
                {
                    implynum += "C";
                }
                else
                {
                    implynum += "F";
                }
        }
        System.out.println(implynum);
        //   implynum  “TTTT”,     ,    
        if (implynum.equals("TTTT"))
        {
            System.out
                    .println("
Correct Answer!
Congratulations!
You have succeed!"); break; } else // implynum “TTTT”, , if (j == (times - 1)) { System.out.println("
You have failed!
Game over!"); System.out.println("
Correct Answer is: " + correctAnswer); } else { System.out.println("Wrong Answer!
Please try again!
"); } } } }

좋은 웹페이지 즐겨찾기