Java: Wie vergleicht man zwei Elemente von char Arrays?
ich habe zwei Arrays mit Datentyp char angelegt. char[] buchstaben; und char[] text; In beiden Arrays sind irgendwelche Textbuchstaben. Nun möchte ich die Arrays an einer bestimmten Stelle im Feld miteinander vergleichen, um festzustellen, ob in beiden Arrays da der gleiche Buchstabe ist. if (buchstaben[k] = text[k]) { ..... } Leider funktioniert das so aber nicht, Im Internet hab ich herausgefunden, dass es die Methode equals() gibt, um Dinge zu vergleichen. Also hab ich's damit mal probiert: if (Arrays.equals(buchstaben[k], text[k])) { .... } Das funktioniert aber auch nicht. Java meldet Folgendes: the method equals(long[], long[]) in the type Arrays is not applicable for the arguments(char, char). Demnach funktioniert es wegen dem Datentyp char nicht.
Wie kann ich das Problem lösen, um die zwei char Arrays an einer bestimmten Stelle k miteinander zu vergleichen, ob da der gleiche Buchstabe steht? Vielen Dank für Antworten. Kann sein, dass es da einen einfachen Trick gibt...kenn mich leider noch nicht aus, hab erst vor zwei Wochen mit Programmieren angefangen
5 Antworten
if (Arrays.equals(buchstaben[k], text[k]))
ist auch völlig falsch, wenn dann muss es buchstaben[k].equals(text[k]) heissen oder wo hast du Arrays definiert???
wo hast du Arrays definiert???
Wahrscheinlich in java.util.Arrays (https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html)...
Probier Mal
If (Buchstaben[0].equals(Text[0])){
Code ...
}
Oder
If (Buchstaben[0]==text[0]){
Code ...
}
Ein einzelnes = ist für eine Zuweisung, mit == kannst du primitive Datentypen, wozu auch char gehört, vergleichen.
Probiert mal buchstabe[k] == Text[k]
= ist beim programmieren eine Zuweisung und kein Vergleich.
Vergleiche sind: == != < > <= >=
Leider funktioniert das so aber nicht
Das ist keine nachvollziehbare Fehlerbeschreibung. Du musst übrigens zwei Gleichheitszeichen verwenden.
Im Internet hab ich herausgefunden, dass es die Methode equals() gibt, um Dinge zu vergleichen.
Das gilt nur für Objekte, v.a. Strings. char ist ein primitiver Datentyp.
Also hab ich's damit mal probiert: if (Arrays.equals(buchstaben[k], text[k])) { .... } Das funktioniert aber auch nicht.
Das kann auch nicht funktionieren ...
hab erst vor zwei Wochen mit Programmieren angefangen
Womit? Doch nicht per Internet. Bitte kauf dir ein Buch oder leih dir eines aus, z.B. "Programmieren lernen mit Java". Das sind essentielle Grundlagen. Poste übrigens nächstes Mal den Code bei Pastebin.