In Java Strings vergleichen?
Hallo ich soll in Java 2 Strings vergleichen und angeben wie viele der zeichen gleich sind. wenn also der eine string abcd ist und der andere abef dann soll 2 rauskommen, wie mache ich das?
4 Antworten
Konvertiere den String in ein Array von Characters. Dann kannst du einfach jede Stelle einzeln vergleichen. Bei unterschiedlicher Wortlänge könnte das zu Problemen führen, aber dann ist die Frage "wie viele Zeichen sind gleich?" auch nicht sehr präzise.
Unter der Annahme, dass beide Strings gleich lang sind, iterierst du über jedes Zeichen der beiden Strings über den Index und vergleichst diese - sind sie gleich, erhöhst du den Zähler.
Wenn sie unterschiedlich lang sein dürfen, musst du dir überlegen, wie du die überschüssigen Zeichen behandeln willst
Mit der equals-Methode.
String word = "cloud";
String anotherWord = "tree";
if (word.equals(anotherWord)) {
System.out.println("Both words are equal.");
}
EDIT: Jetzt habe ich den Beschreibungstext übersehen. Ich hänge noch einen Kommentar an.
Equals vergleicht Strings, ja. Das ist hier aber nicht die richtige Antwort.
Der versprochene Kommentar:
Laufe mit einer Schleife über String 1 und vergleiche zeichenweise in einer inneren Schleife mit den Zeichen des anderen Strings. Immer, wenn es eine Übereinstimmung gibt, erhöhst du einen globalen Zähler um 1.
Du kannst die toCharArray-Methode verwenden, um alle Zeichen eines Strings als Array zurückzubekommen.
wie iterire ich denn über jedes zeichen im string?