Hallo,
ich soll eine Funktion static boolean containsPattern( char[] chars, char[] pattern ) implementieren, die genau dann true zurückgibt, wenn die im Array pattern gerspeicherte Zeichenfolge im Array chars enthalten ist.
Ich habe davor schon ein Methode createCharArrayWithNames() erstellt, die ich als Parameter für chars nehmen soll.
So in meiner containsPattern Funktion schaue ich momentan nur ob die Zeichenfolge von pattern am Anfang von chars ist, aber sobald die gleiche zeichenfolge in chars nicht direkt am anfang steht wird mir false zurück gegeben. Was könnte ich ändern, dass es auch erkennen würde falls irgendwoin der mitte des Arrays die Zeichenfolge von pattern vorhanden ist?
Das ist mein bisheriger Ansatz:
und da wird mir dann leider false ausgegeben, astatt true...
ich soll eine Funktion static boolean containsPattern( char[] chars, char[] pattern ) implementieren, die genau dann true zurückgibt, wenn die im Array pattern gerspeicherte Zeichenfolge im Array chars enthalten ist.
Ich habe davor schon ein Methode createCharArrayWithNames() erstellt, die ich als Parameter für chars nehmen soll.
So in meiner containsPattern Funktion schaue ich momentan nur ob die Zeichenfolge von pattern am Anfang von chars ist, aber sobald die gleiche zeichenfolge in chars nicht direkt am anfang steht wird mir false zurück gegeben. Was könnte ich ändern, dass es auch erkennen würde falls irgendwoin der mitte des Arrays die Zeichenfolge von pattern vorhanden ist?
Das ist mein bisheriger Ansatz:
Java:
static char[] createCharArrayWithNames() {
char[] name = new char[] {'C','i','n','j','a',';','S','a','v','a','n','a','h'};
return name;
}
Java:
static boolean containsPattern(char[] chars, char[] pattern){
int i = 0;
for (int m=0; i<pattern.length ; m++){
if (pattern[m] == chars[i])
i++;
else
{ return false;
}
}
return true;
}
Java:
public static void main(String[] args) {
char[] pattern = new char[] {'n', 'j', 'a'};
System.out.println("containsPattern:" + containsPattern( name, pattern ));
und da wird mir dann leider false ausgegeben, astatt true...