Java-Programmcode zu Stringvergleichen

Neue Frage »

Auf diesen Beitrag antworten »
Superstar567 Java-Programmcode zu Stringvergleichen

Meine Frage:
Hallo Leute,

ich soll einen Code niederschreiben, der zwei Strings vergleicht und ausgibt wie oft der eine im anderen vorkommt. Unten der folgende Code.
Es wird kein Compilierungsfehler ausgegeben, aber wenn ich das Programm starte, gibt es keine Bildschirmrückgabe.
Was mache ich falsch?

Beste Grüße

Meine Ideen:
public class Occur{
public static void main(String[] args){
String x = "ei";
String y = "JaVa isT eIn KafFeE, eiNe InSEl unD Eine ProgRamMiersprAche!";
System.out.println(occurences(x,y));
}

public static int occurences(String eineKette, String andereKette){
int i = 0;
int counter = 0;
while(i<=andereKette.length()){
i = andereKette.indexOf(eineKette, i);
counter++;
}
return counter;
}
}
 
Auf diesen Beitrag antworten »
eulerscheZahl

Du hast deshalb keine Ausgabe, weil das Programm eine Endlosschleife macht.

Hast du ein Vorkommen von eineKette in andereKette, dann weist i = andereKette.indexOf(eineKette, i); der Variablen i immer den selben Wert zu. Du solltest bei indexOf i+1 verwenden.
Außerdem musst du in der Abbruchbedingung prüfen, ob i != -1 ist. Wenn der String nicht gefunden wird, liefert die Funktion nämlich -1.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »