Wygląda mi to na jakieś zaliczenie z przedmiotu programowania, jednakże spróbuj:
public class Test {
public static void main(String[] args) {
char[] string = {'a','b','b','c','c','c','c'};
char[] pattern = {'a','b','b'};
char[] pattern2 = {'b','b','c'};
char[] pattern3 = {'c','b','c'};
char[] pattern4 = {'a'};
char[] pattern5 = {'d'};
char[] pattern6 = {'c','c','c','c'};
System.out.println(match(pattern,0,4,string));
System.out.println(match(pattern2,1,5,string));
System.out.println(match(pattern3,0,string.length,string));
System.out.println(match(pattern4,0,5,string));
System.out.println(match(pattern5,0,5,string));
System.out.print(match(pattern6,0,string.length,string));
}
public static boolean match(char[] pattern, int begin, int end, char[] string) {
if ( (begin > end) || (pattern.length > (end - begin)) ) return false;
for (int counter = begin; counter < end; counter++) {
if (pattern[0] == string[counter]) {
if (pattern.length == 1) return true;
if ((counter + 1) == string.length) return false;
int pattern_counter = 1;
int string_counter = counter + 1;
while (pattern[pattern_counter] == string[string_counter]) {
if (pattern_counter == pattern.length - 1) return true;
if (string_counter == string.length - 1) return false;
pattern_counter++;
string_counter++;
}
}
}
return false;
}
}
Nie jest to zbyt optymalnie napisane i najlepiej skorzystaj z gotowego rozwiązania:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#matches%28java.lang.String%29