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
![](https://images.gutefrage.net/media/user/MagicalGrill/1548472380616_nmmslarge__260_60_1080_1080_9461c4b490096d30204b9d24434abaa7.png?v=1548472381000)
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.
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
![](https://images.gutefrage.net/media/user/xxxcyberxxx/1691185806883_nmmslarge__0_0_1230_1230_4dfa4fbf5df5051b1dd22ccc1781adca.png?v=1691185807000)
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
![](https://images.gutefrage.net/media/user/xxxcyberxxx/1691185806883_nmmslarge__0_0_1230_1230_4dfa4fbf5df5051b1dd22ccc1781adca.png?v=1691185807000)
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
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.
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
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.
![](https://images.gutefrage.net/media/user/xxxcyberxxx/1691185806883_nmmslarge__0_0_1230_1230_4dfa4fbf5df5051b1dd22ccc1781adca.png?v=1691185807000)
Equals vergleicht Strings, ja. Das ist hier aber nicht die richtige Antwort.
wie iterire ich denn über jedes zeichen im string?