当前位置: 首页 > 知识库问答 >
问题:

word中字母的检查方法(Hangman代码)

冯宏恺
2023-03-14

这个任务是为邪恶的刽子手代码组合的几个方法。此特定方法分配为:

遍历单词并返回一个数组,其中包含单词中字母位置的字符代码,否则为0。

参数:

theWord—程序选择的单词

字母-用户输入的字母

猜猜-到目前为止猜到的字母

返回:一个int数组,如果用户正确地猜出了单词中的一个字母,则在该位置插入字符代码。

public static int[] checkLetterInWord(java.lang.String theWord, char letter, int[] guess) {
    int [] position = new int [guess.length];
    int correctGuesses=0;
    int incorrectGuesses=0;
    for (int i=0; i<position.length; i++) {
        for (int j=0; j<theWord.length(); j++) {
        if (theWord.charAt(j)==letter) {
            position[i]=j;
            correctGuesses++;
        }
        else if(theWord.charAt(j)!=letter) {
            position[i]=0;
            incorrectGuesses++;
        }

我不确定我使用的方法是否有效,因为在完成整个课程之前我无法检查。如果有人能让我知道它有什么问题,我将不胜感激!

共有1个答案

乌骏
2023-03-14

使用列表

public static java.util.List<Integer> checkLetterInWord(final java.lang.String theWord, final char letter) {
    final java.util.List<Integer> returned = new java.util.ArrayList<Integer>();
    if (theWord != null) {
        for (int i = 0; i < theWord.length(); i++) {
            if (theWord.charAt(i) == letter) {
                returned.add(Integer.valueOf(i));
            }
        }
    }
    return returned;
}

使用数组

public static int[] checkLetterInWord(final java.lang.String theWord, final char letter) {
    if (theWord != null) {
        final int returned[] = new int[theWord.length()];
        for (int i = 0; i < theWord.length(); i++) {
            if (theWord.charAt(i) == letter) {
                returned[i] = i;
            } else {
                returned[i] = -1;
            }
        }
        return returned;
    }
    return new int[0];
}
 类似资料:
  • 对于我的刽子手游戏,我想有一堆错误信息来检查输入的不止一个字母,猜测同一个字母两次,等等。到目前为止我的完整代码: 我遇到的最大问题是检查用户是否输入了相同的字母两次。所以你只能猜一次字母表中的一个字母。此外,它检查用户输入的多个字母是否有错误的代码,我相信,因为如果我不希望它将这些字母添加到猜测字母框中,它会以任何方式添加这些字母。(即,用户猜测“hf”,在猜测的字母中出现“hf”,在这里它应该

  • 问题内容: 检查字符串是否仅包含字母数字字符的最快方法是什么。 我有一些代码会占用大量CPU,我想知道是否有比使用预编译正则表达式更快的方法。 问题答案: 我已经编写了使用正则表达式(根据其他答案)与不使用正则表达式进行比较的测试。在运行Java 1.6的四核OSX10.8计算机上进行的测试 有趣的是,使用正则表达式比手动迭代字符串要慢5到10倍。此外,该功能比的速度略快。一种支持允许扩展Unic

  • 问题内容: 我有一个字符串“ BC + D * E-”。我想检查字符串的每个字符是否为字母。我尝试使用isLetter(),但它甚至将=,*和-都视为字母。请您帮我一下。谢谢 问题答案: 尝试

  • 我正在尝试创建一个hangman程序,在这一部分中,它检查用户输入的索引位置,查找他们想在单词中找到的字符,然后删除该索引上的破折号,并显示他们刚刚猜到的字母。但是,如果单词有两个相同的字母(即缩小,循环),我的程序不会同时显示两个字母,这就是我试图在末尾编写while循环的目的。谁能告诉我我把什么搞砸了吗??

  • 使用指南 - 代码安装 - 代码检查 - 手动检查代码的方法 #代码手动检查 对于一些特殊情况,系统无法自动检查代码安装状态,需要您手动检查,常见的方式是直接看“实时访客报告”或者“受访页面报告”看是否有数据,但在js调用代码情况下或者数据延时时,以上方式不能完全检查代码是否安装正确。 您可以用浏览器自带的开发者工具进行手动查看,非常便捷。 方法一:用Chrome 浏览器查看代码是否已安装方法:

  • 问题内容: 我正在使用Python v2,并且试图找出是否可以判断字符串中是否包含单词。 我发现了一些有关识别单词是否在字符串中的信息-使用.find,但是有一种方法可以执行IF语句。我想要以下内容: 谢谢你的帮助。 问题答案: 出什么问题了: