Java 刽子手输入赢得';不可读

Java 刽子手输入赢得';不可读,java,netbeans,Java,Netbeans,我有一个java版的刽子手任务,我的大部分程序都能正常工作,除非它试图读取输入并保存它。我只使用字符串,因为我不想把字符转换成字符串 我的主要意见是: 还有我的问题块 我的画框 public static void drawBoard() { System.out.println("Current word:"); for(int i=0;i<word.length();i++) System.out.print(board[i]); } public

我有一个java版的刽子手任务,我的大部分程序都能正常工作,除非它试图读取输入并保存它。我只使用字符串,因为我不想把字符转换成字符串

我的主要意见是:

还有我的问题块

我的画框

public static void drawBoard()
{
    System.out.println("Current word:");
    for(int i=0;i<word.length();i++)
        System.out.print(board[i]);
}
public static void drawBoard()
{
System.out.println(“当前单词:”);

对于(inti=0;i这只是一个粗略的猜测,但这不是错误的代码吗

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (guess.contains(word))
        board[guess.indexOf(word)]=guess;
    else
        numGuesses--;
}
您正在检查输入字母是否包含单词。您应该以另一种方式进行检查:

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (word.contains(guess))
        board[word.indexOf(guess)]=guess;
    else
        numGuesses--;
}
但是这将只替换一个字母-如果有两个
a
则只替换一个。您应该考虑其他方法

扰流板

您可以使用此替换所有字母。但您应该真正使用char[]并更改此方法:

public static void wordCondition(String guess)
{
    int position = 0;
    boolean found = false;
    for (char letter : word.toCharArray())
    {
        if (letter == guess.toCharArray()[0])
        {
            board[position]=guess;  
        }
        position++;
    }

    if (!found)
    {
        numGuesses--;
    }
}

这只是一个胡乱猜测,但那代码不是错了吗

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (guess.contains(word))
        board[guess.indexOf(word)]=guess;
    else
        numGuesses--;
}
您正在检查输入字母是否包含单词。您应该以另一种方式进行检查:

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (word.contains(guess))
        board[word.indexOf(guess)]=guess;
    else
        numGuesses--;
}
但是这将只替换一个字母-如果有两个
a
则只替换一个。您应该考虑其他方法

扰流板

您可以使用此替换所有字母。但您应该真正使用char[]并更改此方法:

public static void wordCondition(String guess)
{
    int position = 0;
    boolean found = false;
    for (char letter : word.toCharArray())
    {
        if (letter == guess.toCharArray()[0])
        {
            board[position]=guess;  
        }
        position++;
    }

    if (!found)
    {
        numGuesses--;
    }
}

这只是一个胡乱猜测,但那代码不是错了吗

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (guess.contains(word))
        board[guess.indexOf(word)]=guess;
    else
        numGuesses--;
}
您正在检查输入字母是否包含单词。您应该以另一种方式进行检查:

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (word.contains(guess))
        board[word.indexOf(guess)]=guess;
    else
        numGuesses--;
}
但是这将只替换一个字母-如果有两个
a
则只替换一个。您应该考虑其他方法

扰流板

您可以使用此替换所有字母。但您应该真正使用char[]并更改此方法:

public static void wordCondition(String guess)
{
    int position = 0;
    boolean found = false;
    for (char letter : word.toCharArray())
    {
        if (letter == guess.toCharArray()[0])
        {
            board[position]=guess;  
        }
        position++;
    }

    if (!found)
    {
        numGuesses--;
    }
}

这只是一个胡乱猜测,但那代码不是错了吗

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (guess.contains(word))
        board[guess.indexOf(word)]=guess;
    else
        numGuesses--;
}
您正在检查输入字母是否包含单词。您应该以另一种方式进行检查:

public static void wordCondition(String guess)
{
    //check if letter is in word and substitutes the letter
    if (word.contains(guess))
        board[word.indexOf(guess)]=guess;
    else
        numGuesses--;
}
但是这将只替换一个字母-如果有两个
a
则只替换一个。您应该考虑其他方法

扰流板

您可以使用此替换所有字母。但您应该真正使用char[]并更改此方法:

public static void wordCondition(String guess)
{
    int position = 0;
    boolean found = false;
    for (char letter : word.toCharArray())
    {
        if (letter == guess.toCharArray()[0])
        {
            board[position]=guess;  
        }
        position++;
    }

    if (!found)
    {
        numGuesses--;
    }
}



是时候学习如何使用IDE的调试器了。你的“问题块”产生了什么问题?在哪里以及如何定义
board
?if(guess.contains(word))
条件是否正确?在我看来,应该是这样的,
if(word.contains(guess))
@nIcEcOw是的,就是这样。是时候学习如何使用IDE的调试器了。你的“问题块”产生了什么问题?
board
在哪里以及如何定义?
if(guess.contains(word))
条件真的正确吗?在我看来,应该是这样的,
if(word.contains(guess))
@nIcEcOw是的,就是这样。是时候学习如何使用IDE的调试器了。你的“问题块”产生了什么问题?
board
在哪里以及如何定义?
if(guess.contains(word))
条件真的正确吗?在我看来,应该是这样的,
if(word.contains(guess))
@nIcEcOw是的,就是这样。是时候学习如何使用IDE的调试器了。你的“问题块”产生了什么问题?
board
在哪里以及如何定义?
if(guess.contains(word))
条件真的正确吗?在我看来,应该是这样的,
if(word.contains(guess))
@nIcEcOw是的,就是这样。事实上,我的想法是,关于这个主题:-)+1@nIcEcOw-我们在同一时刻发布了它-我想得到答案而不是评论(虽然有一些疑问;)-我试过了,但它一直作为一个例子出现error@CJNotyou我编辑了我的答案。它是:
board[guess.indexOf(guess)]猜一猜;
应该是:
board[word.indexOf(guess)]=guess;
ah,现在可以了,谢谢你的帮助,我现在就要开始一个字母的事情了,我想,实际上,关于这个主题:-)+1@nIcEcOw-我们在同一时刻发布了它-我只想得到答案而不是评论(尽管有一些疑问;))我试过了,但它一直作为一个例子出现error@CJNotyou我编辑了我的答案。它是:
board[guess.indexOf(guess)]=guess;
它应该是:
board[word.indexOf(guess)])猜一猜;
啊,现在可以了,谢谢你的帮助,我现在就要谈一封信了+1@nIcEcOw-我们在同一时刻发布了它-我只想得到答案而不是评论(尽管有一些疑问;))我试过了,但它一直作为一个例子出现error@CJNotyou我编辑了我的答案。它是:
board[guess.indexOf(guess)]=guess;
它应该是:
board[word.indexOf(guess)])猜一猜;
啊,现在可以了,谢谢你的帮助,我现在就要谈一封信了+1@nIcEcOw-我们在同一时刻发布了它-我只想得到答案而不是评论(尽管有一些疑问;))我试过了,但它一直作为一个例子出现error@CJNotyou我已经编辑了我的答案。它是:
board[guess.indexOf(guess)]=guess;
应该是:
board[word.indexOf(guess)]=guess;
啊,现在可以了,谢谢你的帮助,我现在只看一个字母