SubString in String zählen

Feras

Aktives Mitglied
Hi, ich möchte mit der Methode matchingCount zählen, wie oft ein vorgegebener Teilstring in einem String vorkommen. Mit Mustern wie abbaabba, oder aaaa, bbbb funktioniert das auch schon, aber wenn ich zum Beispiel im String abaa nach einem b oder a suche, bekomme ich immer die Anzahl 4 ausgegeben. Warum?

MfG Feras



Java:
public class Aufgabe1 {

	private static final BufferedReader br = new BufferedReader(
			new InputStreamReader(System.in));

	public static String askString(String prompt) {
		System.out.print(prompt);
		try {
			return br.readLine();
		} catch (IOException e) {
			System.err.println("could not read from stdin");
			System.exit(100);
			return null;
		}
	}

	public static int matchingCounter(String t, String p) {

		int counter = 0;

		for (int i = 0; i < t.length(); i = i + p.length()) {

			if (t.contains(p)) {

				counter++;

			}

		}

		return counter;
	}

	public static void main(String[] args) {

		String t = Aufgabe1.askString("Bitte eine Zeichenkette eingeben: ");
		String p = Aufgabe1
				.askString("Bitte die gesuchte Zeichenkette eingeben: ");

		System.out.println(matchingCounter(t, p));

	}

}
 
Weil du für die länge des Strings prüftst, ob ein a oder b in deinem String vorhanden ist. Es wird also 4x geprüft ob ein b drin ist, jedes mal findet er das b.
 

Zurück
Oben