Java:Contains()方法

Java:Contains()方法,java,algorithm,contains,Java,Algorithm,Contains,尝试在不使用内置方法的情况下实现contains()方法 这是我的密码: public static boolean containsCS(String str, CharSequence cs) { //char[] chs = str.toCharArray(); boolean result = false; int i=0; while(i<str.length()) { int j=0; while(j<cs

尝试在不使用内置方法的情况下实现
contains()
方法

这是我的密码:

public static boolean containsCS(String str, CharSequence cs) {
    //char[] chs = str.toCharArray();
    boolean result = false;

    int i=0;
    while(i<str.length()) {
        int j=0;
        while(j<cs.length()) {
            if(NEED TO CHECK IF THERE IS AN INDEX OUT OF BOUNDS EXCEPTION) {
                result = false;
                break;
            }
            if(str.charAt(i+j)==cs.charAt(j)) {
                result|=true; //result = false or true ->>>>> which is true.
                j++;
            } else {
                result = false;
                break;
            }
        }
        i++;
    }
    return false;
}
我想确保此方法在上述情况下正常工作,
Charsequence
有一个或多个
char
要检查,但
字符串的长度已用完。我应该如何编写第一个
if
语句?

我建议使用其中的方法

编辑-对于阅读障碍者: 链接的方法不是来自java.lang.String或java.lang.Object的方法

如果您想仔细查看链接,您会发现我引用的是Apache Commons Lang API和StringUtils.contains(…)方法,它非常清楚地回答了这个问题。

我建议使用和使用其中的方法

if (i+cs.length() > str.length()){
   OUT OF BOUNDS
}
编辑-对于阅读障碍者: 链接的方法不是来自java.lang.String或java.lang.Object的方法


如果你真的想看看链接,你会发现我引用的是Apache Commons Lang API和StringUtils.contains(…)方法,它非常清楚地回答了这个问题。

如果这是你的家庭作业,我想是的,然后我建议您看看这个类,看看还有哪些其他方法可以帮助您找到一个字符串在另一个字符串中的位置

if (i+cs.length() > str.length()){
   OUT OF BOUNDS
}

还考虑查看字符串的源代码,看看它是如何实现的。

< P>如果这是你的作业,我怀疑是这样,那么我建议你看一下这个类,看看有什么其他方法可以帮助找到一个字符串在另一个字符串中的位置。

还考虑查看字符串的源代码以查看它是如何实现的。

< P>我确信您已经知道这一点,但实际上可以看到内置类和方法的实际源代码。所以我先看看那里。字符串类特别有趣,我相信您已经知道了这一点,但实际上可以看到内置类和方法的实际源代码。所以我先看看那里。字符串类特别有趣,我想。

如果是我,我要检查的第一件事是我的字符序列的长度是如果是我,我要检查的第一件事是我的字符序列的长度是什么?问题是什么?@roddyoffrozenpeas编辑它…你错过了一点吗?在我看来,这是一个无限循环。i的增量在哪里?@TonyHopkinson你说得对。我刚在我的代码中修复了这个问题。问题是什么?@roddyoffrozenpeas编辑了它……你有没有漏掉一点?在我看来,这是一个无限循环。i的增量在哪里?@TonyHopkinson你说得对。我刚刚在我的代码中解决了这个问题。问题是:“…不使用内置方法contains()”。如果你需要做作业,不要在这里问。去找你的助教。他们知道你需要从课程中得到什么。如果您只需要代码就可以了,请查看链接方法的源代码。它不是字符串的
包含(…)
方法。实际上,它是Apache在Commons Lang API中提供的
StringUtils
上的一个静态方法。@dmos我只是在练习我的算法技能。教科书中的问题与此无关?异教徒!:)从问题:“…不使用内置方法contains()”。如果你需要做作业,不要在这里问。去找你的助教。他们知道你需要从课程中得到什么。如果您只需要代码就可以了,请查看链接方法的源代码。它不是字符串的
包含(…)
方法。实际上,它是Apache在Commons Lang API中提供的
StringUtils
上的一个静态方法。@dmos我只是在练习我的算法技能。教科书中的问题与此无关?异教徒!:)这不是为了家庭作业。。。我只是为了技术面试而练习,结果被卡住了。啊,好吧,这样的话,我的建议仍然有效。如果你打算在Java行业找份工作,那么我建议你参加Oracle认证的Java程序员/开发人员考试。这是一个让你掌握基本原理的好方法,开发人员会专门帮助你将其付诸实践。在现实世界中,它有很多都不太可靠,例如,我从来没有高度依赖于知道long是64位的,它也会在技术面试中帮助你,因为面试主要涉及核心Java。如果你想知道我的意思,可以在谷歌上看看FizzBuzz。谢谢,詹姆斯。我会查出来的。这不是家庭作业。。。我只是为了技术面试而练习,结果被卡住了。啊,好吧,这样的话,我的建议仍然有效。如果你打算在Java行业找份工作,那么我建议你参加Oracle认证的Java程序员/开发人员考试。这是一个让你掌握基本原理的好方法,开发人员会专门帮助你将其付诸实践。在现实世界中,它有很多都不太可靠,例如,我从来没有高度依赖于知道long是64位的,它也会在技术面试中帮助你,因为面试主要涉及核心Java。如果你想知道我的意思,可以在谷歌上看看FizzBuzz。谢谢,詹姆斯。我去看看。谢谢你。我已经检查过了,它实现了
indexOf()
方法。谢谢。我已经检查过了,它实现了
indexOf()
方法。这是一个非常聪明的解决方案。谢谢,托尼!这是一个非常聪明的解决办法。谢谢,托尼!