如何在不使用任何内置方法的情况下获取Java中字符串中子字符串的位置。

时间:2014-10-27 23:25:20

标签: java regex

大多数答案都使用了length()或charAt()或toCharArray()方法。但是我想在不使用任何这些字符串的情况下获取字符串中子字符串的位置。 在此先感谢您的帮助

2 个答案:

答案 0 :(得分:3)

那是不可能的。 Stringchar[]支持。访问char[]或其元素的唯一方法是通过String方法。如果您不能使用这些方法中的任何一种,则无法在其中找到子字符串。

答案 1 :(得分:-3)

 public class HelloWorld {

     public static void main(String []args) {
        char[] string = {'t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 's', 't', 'r', 'i', 'n', 'g', 0};
        char[] substring = {'i', 's', ' ', 0};
        int c = 0;
        Boolean found = false;
        int position = 0;

        while (string[c] != '\0') {
            int f = 0;
            while (string[c+f]==substring[f]) f++;
                if (substring[f]=='\0') {
                    found = true;
                    position = c;
                }
            c++;
        }
        if (found)
            System.out.println("found at position " + position);  
    }
}