Hallo,
hab hier eine Aufgabe, an der ich eine Sache nicht verstehe.
Erstmal der Code:
Also, verschachtelte Schleife, zwei Sequenzen, "sequence" soll mit "subsequence" verglichen werden und dann zählt ein Zähler mit, wie oft die Subsequenz in der Sequenz vorkommt.
Die Schleife beginnt also bei i=0, i ist kleiner als die Länge der Sequenz (1<7), die innere Schleife fängt also an zu laufen.
Hier liegt dann auch mein Problem. Der erste Teil der Bedingung "j < subsequence.length" wird ja für j=0 erfüllt, das sequence[i+j] == subsequence[j] nach dem && wird aber nicht erfüllt. Warum wird dann die Anweisung "j++" trotzdem ausgeführt, und die Schleife dann nochmal für j=1 ausgeführt?, um dann bei j=2 abzubrechen und an die äußere Schleife wieder abzugeben?
Hoffe, die Frage ist so verständlich.
Liebe Grüße,
Jan
hab hier eine Aufgabe, an der ich eine Sache nicht verstehe.
Erstmal der Code:
Java:
class CountSubsequence{
public static void main(String[] args){
// Testreihen
int[] sequence = {1,2,2,2,2,4,3};
int[] subsequence = {2,2};
// Zaehlvariable
int count = 0;
// TODO
if (sequence.length >= subsequence.length) {
for(int i = 0; i < sequence.length; i++) {
for (int j=0; j < subsequence.length && sequence[i+j] == subsequence[j]; j++) {
if(j == subsequence.length-1) {
count++;
}
}
}
// Ausgabe des Ergebnisses
System.out.println("Count: " + count);
}
}
}
Also, verschachtelte Schleife, zwei Sequenzen, "sequence" soll mit "subsequence" verglichen werden und dann zählt ein Zähler mit, wie oft die Subsequenz in der Sequenz vorkommt.
Die Schleife beginnt also bei i=0, i ist kleiner als die Länge der Sequenz (1<7), die innere Schleife fängt also an zu laufen.
Hier liegt dann auch mein Problem. Der erste Teil der Bedingung "j < subsequence.length" wird ja für j=0 erfüllt, das sequence[i+j] == subsequence[j] nach dem && wird aber nicht erfüllt. Warum wird dann die Anweisung "j++" trotzdem ausgeführt, und die Schleife dann nochmal für j=1 ausgeführt?, um dann bei j=2 abzubrechen und an die äußere Schleife wieder abzugeben?
Hoffe, die Frage ist so verständlich.
Liebe Grüße,
Jan