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

为什么我的Codingbat String-2 EndOther代码不起作用?

黎腾
2023-03-14
public boolean endOther(String a, String b) {
    a = a.toLowerCase();
    b = b.toLowerCase();
    if (a.contains(b) && a.indexOf(b) == a.length() - b.length()) {
        return true;
    } else if (b.contains(a) && b.indexOf(a) == b.length() - a.length()) {
        return true;
    } else {
        return false; 
    }
}

共有1个答案

应涵容
2023-03-14

我的直觉是,他们希望您使用子字符串。原因很简单:模式出现在任何一个字符串中的其他位置都无关紧要,只要它位于该字符串的最后一个位置。

您也不应该(在实践中)操作传入的参数,因为这可能会在以后绊倒您。将final添加到param列表中会阻止您这样做,以防您意外地认为它在做您没有做的事情。

最后,您根本不需要将两个字符串都转换为小写;有一个名为EqualSignorecase的方法可以很好地处理这种情况。

public boolean endOther(final String a, final String b) {
    if (a.length() >= b.length()) {
        return endOtherHelper(a, b);
    } else {
        return endOtherHelper(b, a);
    }
}

private boolean endOtherHelper(final String longStr, final String shortStr) {
    return longStr.substring(longStr.length() - shortStr.length()).equalsIgnoreCase(shortStr);
}
 类似资料:
  • 问题内容: 我正在尝试编写关于弹跳球的代码,但是我仍然沉迷于如何 使弹跳球。该代码似乎是正确的,日食没有错误消息 ,但是球还是没有动。任何帮助/提示表示赞赏。 这是我的代码: 问题答案: 基本上,什么都没有移动。 每次滴答作响,您要做的就是重新粉刷。 您需要将移动逻辑移至已注册的方法Timer 更像… 这样,每次Timer打勾时,您都在相应地更新球的位置… 更新了工作示例 我做了两个更改。我将设置

  • 我想了两个小时,为什么这段代码不能产生预期的结果。如果我输入3个整数,比如3、4和5,它应该给出所有27个可能的和(假设数字可以是正的、负的或零) 因此,它应该产生以下内容: -3-4-5=-12 -3-4 0 = -7 -4-4 5=3 等等

  • Stage.close()对我不起作用。 我查看了:JavaFX2.0:关闭一个舞台(窗口) 这是我的代码: 下面是调用消息框类的代码:

  • 我正在尝试检测我的两个精灵何时发生碰撞。我做的第一件事是在我的播放器周围创建一个矩形(称为player.img),然后在我想检测的树周围创建另一个矩形(称为背景.treesrect)。我将玩家矩形的坐标设置为等于当用户按下键移动时更新的坐标,但玩家矩形不移动。然后我使用精灵.碰撞(精灵)函数来检测它们是否碰撞并且没有检测到。有人可以向我展示为什么我的播放器矩形没有更新以及其他任何可能错误的内容吗?

  • 问题内容: 我在这里有点困惑。如果我将变量传递给json_decode,它将不起作用: 第一个回显正确显示了我传递的JSON字符串,例如 第二个回显显示NULL。因此,我从第一个回显中获取了字符串,并编写了以下代码: 你怎么说,它向我展示了正确解码的数组。字符串绝对相同,我什至保留转义字符。也许是问题所在? 问题答案: 看起来您的服务器已启用。无论是将其禁用或运行通过使用它之前。

  • 因此,下面的代码,从txt文件中取序列号作为参数,在我的计算机上正常工作。每个数字都写在一行上。下面是代码: 但它在CodeEval中不起作用。站点编译器是这么说的: Fontconfig错误:无法加载默认配置文件线程“main”java.awt.HeadLessException:未设置X11显示变量,但此程序执行了需要它的操作。在java.awt.GraphicsEnvironment.Che