大多数答案都使用了length()或charAt()或toCharArray()方法。但是我想在不使用任何这些字符串的情况下获取字符串中子字符串的位置。 在此先感谢您的帮助
答案 0 :(得分:3)
那是不可能的。 String
由char[]
支持。访问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);
}
}