String vergleich mit Array in Java

Jan489

Grünschnabel
Hallo Leute, wie kann ich zwei Strings durch einen Array miteinander vergleichen, sodass im Array bei der Übereinstimmung eines Buchstabens ein x und bei keiner Übereinstimmung eine Null angezeigt wird?

Ich hoffe ihr könnnt mir weiter helfen. Das ist mein Code der mir leider nicht das richtige Ergbnis liefert. Da es bei Palindromen wie Anna zu keiner Veränderung kommt. Der Code ist für MiniJava.

Java:
public static void main(String[] args) {

        //String erstellenn und einlesen
        String s;
        s = readString("Gib ein Wort ein");

        //Erstellen einer DotMatrix a der Größe s*s
        char a[][];
        a = new char[s.length()][s.length()];

        //Beschriftung
        System.out.println("" + s);
      

        //Ausfüllen der Matrix
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {

                //Auf Treffer prüfen
                if (a[i] == a[j]) {
                    a[i][j] = 'x';
                } else {
                    a[i][j] = '0';
                }
                //Ausgabe
                System.out.print("" + a[i][j] );
            }
            System.out.println();
        }
      
    }
 

Anhänge

  • Matrix.PNG
    Matrix.PNG
    503 Bytes · Aufrufe: 2
Zuletzt bearbeitet:

apatian

Grünschnabel
== prüft auf Referenzgleichheit (ob sie das gleiche Objekt sind). Jedoch sind Strings a[n] und a[k] verschiedene Objekte, obwohl sie denselben Wert haben können. Um zu testen, ob Strings die gleichen Werte haben, können wir a[k].equals(a[n]) benutzen.
 
Zuletzt bearbeitet:

Jan489

Grünschnabel
Danke für deine Antwort, doch leider funktioniert es immer noch nicht :/
Ich glaube mittlerweile es werden immer die Zahlen von 1 bis n verglichen, welche die Zeilen und Spalten beschreiben und nicht die Buchstaben des Wortes. Aber wie schaffe ich es, dass er die Buchstaben des Wortes als Zeilen- und Spaltenüberschrift nimmt?