Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 陷入刽子手游戏_Java_String - Fatal编程技术网

Java 陷入刽子手游戏

Java 陷入刽子手游戏,java,string,Java,String,我目前正在学习Java编程,我们需要制作一个基本的刽子手游戏,没有图形界面,只需要主要的和更少的方法 这就是问题所在: 我做了一个方法,允许我在不同的主题之间进行选择,每个主题上有5个单词或一组单词,它随机选择其中一个,并将其分配给一个字符串变量“word”,我将使用这个变量 然后有一个方法创建一个字符串“HiddenWord”,只需将字符替换为“*”,并保留单词之间的空格 问题是,我不知道如何输入一个字符“字母”,并替换隐藏单词中的字母,逐步解析隐藏单词 我会提供我的代码,但它是西班牙语的,所

我目前正在学习Java编程,我们需要制作一个基本的刽子手游戏,没有图形界面,只需要主要的和更少的方法

这就是问题所在:

我做了一个方法,允许我在不同的主题之间进行选择,每个主题上有5个单词或一组单词,它随机选择其中一个,并将其分配给一个字符串变量“word”,我将使用这个变量

然后有一个方法创建一个字符串“HiddenWord”,只需将字符替换为“*”,并保留单词之间的空格

问题是,我不知道如何输入一个字符“字母”,并替换隐藏单词中的字母,逐步解析隐藏单词

我会提供我的代码,但它是西班牙语的,所以我会翻译一些关键词(你注意到我很棒的英语技能了吗?)

HideWord
method(我认为这里没有问题,也许单词之间的间距应该用另一种方式来实现):


好了,就这样,很抱歉我糟糕的语法和糟糕的Java,如果需要,我将提供更多的代码部分。

一旦发现单词中有字母,你应该做什么,只需替换索引中的*字符,在原始单词中找到字母:

 for(int i=0;i<word.length();i++)
 {
     if(letter==word.charAt(i))
     {
         char[] wordCharsArray = hiddenWord.toCharArray();
         wordCharsArray[i] = letter;
         hiddenWord= String.valueOf(wordCharsArray);
     }
 }

对于(int i=0;i对于效率,我只需使用:

do{
System.out.println(“输入字母”);
letter=objeto.teclado.next().charAt(0);
StringBuilder sb=新的StringBuilder();
对于(int i=0;i=0&&!已解析);//已解析==false可以简化为!已解析

是的,对不起,我一直在编辑它以避免使用所有方法,所以我一定犯了一些错误,那只是一个打字错误:SOh,那…起作用了:D从未使用过。Tocharray()以前,但它看起来非常适合这个刽子手的东西,非常感谢!谢谢你的帮助,但是,你的代码中有太多东西我甚至还不明白…如果我使用你的代码,我对代码所做的任何更改都需要在这里发另一篇帖子来修复,但我真的很感谢你的帮助:D@DanielSimon这和你没什么不同r代码,一个使用
StringBuilder
构建
字符串的部分。您不完全理解哪个部分?
main ()
{

    Ahorcado objeto=new Ahorcado();

    //Example word, since the full code is really long

    String word = "Hello World";
    int life;


    String hiddenWord=objeto.hideWord(word);

    System.out.println("Game just Started\n");

    System.out.println(palabraOculta); //Hello world -> ***** *****

    char letter;

    boolean resolved=false;

    do
    {

        System.out.println("Input a letter");
        letter=objeto.teclado.next().charAt(0);

        //Intentionally left almost Blank because every try did a weird Pyramid thing or just crash
        for(int i=0;i<word.length();i++)
        {
            if(letter==word.charAt(i))
            {
            }
        }
        if(hiddenWord.equals(word))
        {
            resolved=true;
        }
        objeto.life--;
    }
    while(objeto.vidas>=0&&resolved==false);
}
 for(int i=0;i<word.length();i++)
 {
     if(letter==word.charAt(i))
     {
         char[] wordCharsArray = hiddenWord.toCharArray();
         wordCharsArray[i] = letter;
         hiddenWord= String.valueOf(wordCharsArray);
     }
 }
    do{    
        System.out.println("Input a letter");
        letter=objeto.teclado.next().charAt(0);
        StringBuilder sb = new StringBuilder();
        for(int i=0; i<word.length(); i++){
             if(letter == word.charAt(i)){
                 sb.append(word.charAt(i));
             } else {
                sb.append(hiddenWord.charAt(i));
             }
        }
        hiddenWord = sb.toString();
        resolved = hiddenWord.equals(word);
        objeto.life--;
    } while(objeto.vidas>=0 && !resolved); //resolved == false could be simplified to !resolved