猜猜Java中的单词游戏

时间:2016-08-16 20:02:57

标签: java string

我有一个问题,写猜游戏java代码。 我会告诉你我目前的代码,直到你问题为止。

import java.util.Scanner;

class Q
{
    public static void main(String argss[])
    {
        String strs[] = { "kareem", "java", "izz", "tamtam", "anas" };
        Scanner input = new Scanner(System.in);
        int index = ((int) (Math.random() * 5));
        int points = 50;
        String c;
        boolean result = false;
        boolean finalResult = false;
        boolean tempResult = false;

        String word = strs[index];
        System.out.println(
                "\t *** Enter a character and guess the world*** \n\t ***You will loose if your points become 0 *** \n ");
        System.out.println(stars(word));
        System.out.println("Your points: " + points);
        System.out.print("Enter and guess a character! ");

        String temp = stars(word);
        String oldTemp = temp;

        c = input.next();
        while (points > 0)
        {

            for (int i = 0; i < word.length(); i++)
            {
                result = (word.charAt(i) + "").equals(c);
                if (result == true)
                {
                    temp = toChar(i, temp, c);
                }

            }

            finalResult = temp.equals(word);
            tempResult = temp.equals(oldTemp);
            System.out.println(temp);
            if (finalResult == true)
            {
                System.out.println("\n \n YOU HAVE GUESSED THE WORLD,YOU WON ! ");
                break;
            }
            if (tempResult == true)
            {
                points = points - 5;
                System.out.println("False and now your points are " + points);
            }

            else if (tempResult == false)
            {
                System.out.println("True and now your points are " + points);

            }
            if (points <= 0)
            {
                System.out.println("\n\n*********************\n* Sorry , you loose *\n*********************  ");
                break;
            }
            System.out.print("Guess another time,enter a character: ");
            c = input.next();
        }

    }

    public static String stars(String word)
    {
        String temp = "";
        for (int i = 0; i < word.length(); i++)
            temp = temp + "*";
        return temp;
    }

    public static String toChar(int index, String temp, String c)
    {
        char[] tempChar = temp.toCharArray();
        char s = c.charAt(0);
        tempChar[index] = s;
        temp = String.valueOf(tempChar);
        return temp;
    }
}

现在正如您在第39行所看到的那样,我在这里遇到了一些问题,因为当它错误时它将不再正确。 你知道另一种比较条目是否正确的方法吗?

1 个答案:

答案 0 :(得分:0)

看起来你没有在while循环中更改oldTemp。尝试在所有if语句之后将其设置为等于temp

if (points <= 0)
{
    System.out.println("\n\n*********************\n* Sorry , you loose *\n*********************  ");
    break;
}
oldTemp = temp; // add this here
System.out.print("Guess another time,enter a character: ");
c = input.next();
相关问题