• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Char Array rekursiv vergleichen

Aboya

Aboya

Mitglied
Weiß jemand wie man Char Arrays rekursiv vergleichen kann, ich habe leider keine Ahnung, wie so etwas geht.
 
Robert Zenz

Robert Zenz

Bekanntes Mitglied
Am einfachsten mit einer klassischen for-Schleife. Zuerst vergleichen ob die Arrays gleich lang sind, und wenn ja dann mit der Schleife ein Element nach dem anderen in den Arrays vergleichen.
 
Robert Zenz

Robert Zenz

Bekanntes Mitglied
Das ist richtig...ich sollte bei Gelegenheit lesen lernen, Verzeihung.

In dem Fall imitierst du eine for-Schleife, in dem du einfach den zu vergleichenden Index an die Funktion uebergibst, diese Funktion ruft dann natuerlich wieder sich selbst auf mit einem hochgezaehlten Index. Also als Pseudo-Code:

Code:
function compare(..., int index) {
    // TODO Comparison and checks here.
    compare(..., ++index);
}
 
Aboya

Aboya

Mitglied
Das ist richtig...ich sollte bei Gelegenheit lesen lernen, Verzeihung.

In dem Fall imitierst du eine for-Schleife, in dem du einfach den zu vergleichenden Index an die Funktion uebergibst, diese Funktion ruft dann natuerlich wieder sich selbst auf mit einem hochgezaehlten Index. Also als Pseudo-Code:

Code:
function compare(..., int index) {
    // TODO Comparison and checks here.
    compare(..., ++index);
}
public static boolean P(char[] x, char[] y,int i) {

if(x==y|| (x=='*')) return P(x,y,i++);
else return false;
}

public static boolean Matching(String pattern, String string) {

p = (pattern).toCharArray(); //In der Angabe mitgeliefert
s= (string).toCharArray(); // auch
int i=0;
if(p.length<s.length)return false;

return P(p,s,i);
}

meinst so ungefähr? Das mit dem * dienst als Platzhalter , Teil der Aufgabe. Es kommt Index 0 out of Bound for Length 0 raus.
 
F

fhoffmann

Top Contributor
Das erinnert mich an fogenden Thread (von heute):

Und bitte schreibe in diesem Forum deinen Code in Code-Tags - sonst wird [i] als "kursiv" interpretiert.
 
Zuletzt bearbeitet:
Aboya

Aboya

Mitglied
Das erinnert mich an fogenden Thread (von heute):

Und bitte schreibe in diesem Forum deinen Code in Code-Tags - sonst wird [i] als "kursiv" interpretiert.
Java:
public static boolean M(int pPos, int sPos) {
        
        if(pArray[pPos]=='a'){
            if(sArray[sPos]=='a')
                M(pPos+1,sPos+1);
        }
        else if(pArray[pPos]=='b'){
            if(sArray[sPos]=='b')
                M(pPos+1,sPos+1);
        }
        else if(pArray[pPos]=='c'){
            if(sArray[sPos]=='c')
                M(pPos+1,sPos+1);
        }
        else if(pArray[pPos]=='*'){
            for (int i = 0; i < sArray.length; i++){
                if(M(pPos+1,i)==true)
                    return true;
            }
        }
            
        return false;
    }   
    
    public static boolean isMatching(String pattern, String string) {
        
        pArray = (pattern).toCharArray();
        sArray = (string).toCharArray();
        int pPos=0;
        int sPos=0;
        
        return M(pPos,sPos);
    }
 
Aboya

Aboya

Mitglied
Soll das so aussehen? Ich bekomm ein IndexOutOfBound. Wie schau ich nach ob an Position pPos ein Buchstabe drinnen ist und dann beim anderen Array ob es derselbe dort ist?
 
F

fhoffmann

Top Contributor
Zunächst musst du natürlich den Wert deiner Überprüfung auch zurückgeben; also statt
Java:
        if(pArray[pPos]=='a'){
            if(sArray[sPos]=='a')
                M(pPos+1,sPos+1);
        }
richtiger:
Java:
        if(pArray[pPos]=='a'){
            if(sArray[sPos]=='a')
                return M(pPos+1,sPos+1);
        }

EDIT:
außerdem musst du natürlich "false" zurückgeben, wenn die beiden Buchstaben nicht übereinstimmen; also
Java:
        if(pArray[pPos]=='a'){
            if(sArray[sPos]=='a')
                return M(pPos+1,sPos+1);
            } else {
               return false;
           }
     }
Dann würde ich die Prüfung auf Stern (if(pArray[pPos]=='*') vorziehen; dann kannstdu dir die anderen ifs sparen (außer der Überprüfung auf ".").
 
Zuletzt bearbeitet:
Aboya

Aboya

Mitglied
Das is doch derselbe Code oder, also mit if(...==‘a‘), oder? Aso das return ist anders, dann versuchs ich mal, danke
 
Aboya

Aboya

Mitglied
Bei mir kommt als Fehler ständig Index 0 out of Bounds for length 0. Weißt du was da das Problem ist?
 
Aboya

Aboya

Mitglied
Aso also zuerst überprüfen ob stern und diese for schleife wie im code oben und dann else if und was kommt da dann?
 
F

fhoffmann

Top Contributor
Du kannst natürlich gerne nochmals nachfragen!
Aber meine Eltern sagten zu mir als Kind immer, wenn ich doofe Fragen stellte: "Selbst denken macht schlau".
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JG12111989 char-Array in int-Array umwandeln Allgemeine Java-Themen 27
C char und char-Array als parameter übergeben Allgemeine Java-Themen 6
J char-Array löschen Allgemeine Java-Themen 5
F Char-Array nach einem Wort durchsuchen! Allgemeine Java-Themen 11
T JNI String/char-Array Allgemeine Java-Themen 8
R char aus String entfernen Allgemeine Java-Themen 10
Thallius Char +1 wird int? Allgemeine Java-Themen 7
M Illegal char im Dateinamen Allgemeine Java-Themen 14
K Eingabe mit Char vergleichen klappt nicht! Allgemeine Java-Themen 2
J char Allgemeine Java-Themen 3
Thallius Merkwürdiges StringBuilder verhalten (Char Encoding) Allgemeine Java-Themen 6
R Char cannot be derefenrenced? Allgemeine Java-Themen 14
R Bibliothek für Darstellung von char auf 5x7 Dot-Matrix Allgemeine Java-Themen 2
S Char-index aller Buchstaben..? Allgemeine Java-Themen 3
S Klassen Zuorgnung Object-char Allgemeine Java-Themen 2
R Beste Methode: char[] c = new String(b, CHARSET).toCharArray() ? Allgemeine Java-Themen 2
Kr0e Synchronisieren: boolean,byte,char ? Allgemeine Java-Themen 2
E Short in Char? Allgemeine Java-Themen 4
H Vector<Character> zu char[] castern Allgemeine Java-Themen 2
M String[] zu Char[][] mit von toCharArray() Allgemeine Java-Themen 5
G Hex 2 char Allgemeine Java-Themen 2
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
T Prüfen, ob Char ein Quantifier ist Allgemeine Java-Themen 6
H int in char umwandeln Allgemeine Java-Themen 7
N problem mit char Allgemeine Java-Themen 6
N Mal wieder char-encoding Probleme Allgemeine Java-Themen 5
T Frage zu char in verbindung mit int Allgemeine Java-Themen 4
B VK_? << durch char rausbekommen Allgemeine Java-Themen 8
M Class.forName und char Allgemeine Java-Themen 10
G Char-zufällig-generieren Allgemeine Java-Themen 11
T MessageDigest von einem char[] berechnen Allgemeine Java-Themen 7
Z Zeichen/char in einer Datei löschen Allgemeine Java-Themen 6
M wie wird aus char eine string kette? Allgemeine Java-Themen 4
A char in String umwandeln Allgemeine Java-Themen 3
L ein char in einem string ersetzen? Allgemeine Java-Themen 5
N char.At gibt Zeichenkette aus. aber leider 2x Allgemeine Java-Themen 10
G Wandeln von Char Wert in Zeichen? Allgemeine Java-Themen 2
U Unicode char kyrillisch Allgemeine Java-Themen 10
C String und char[] / String[] und Vector Allgemeine Java-Themen 21
L char-Zeichen per Konsole einlesen Allgemeine Java-Themen 4
N byte zu Char Allgemeine Java-Themen 1
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
V4ll3.Wff Array in Java Allgemeine Java-Themen 4
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
H Array Sportschütze Allgemeine Java-Themen 6
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
M Array verändern Allgemeine Java-Themen 1
A JavaFX 2 dimensionales array Allgemeine Java-Themen 1
L Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
N Byte Array in Java "dekomprimieren" Allgemeine Java-Themen 3
parrot Array Aufgabe Allgemeine Java-Themen 3
N String Array Eingabe Allgemeine Java-Themen 6
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
A Array Problem Allgemeine Java-Themen 8
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
F Datei in String-Array einlesen Allgemeine Java-Themen 8
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
F 3 Dimensionales Array mit Allgemeine Java-Themen 9
M Steueralgorithmus verwandelt Array in Anfangszustand Allgemeine Java-Themen 9
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
D Datentypen 2-3 Baum erstellen mit geordnetem int-array Allgemeine Java-Themen 0
T Objekt in Array packen Allgemeine Java-Themen 6
M Zahlen in Array anordnen Allgemeine Java-Themen 8
M Eclipse Unvollständigen Array ansteuern Allgemeine Java-Themen 2
D Erste Schritte Im Array Werte tauschen Allgemeine Java-Themen 5
Xge For/Array Error: IndexOutOfBounds Allgemeine Java-Themen 4
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
J Variablen Array ertellen bei model.put Allgemeine Java-Themen 13
S Eindimensionales Array in zweidimensionales Array speichern Allgemeine Java-Themen 5
R convert 2d array list to 2d array Allgemeine Java-Themen 1
J json Array würfel Spalten durcheinander Allgemeine Java-Themen 9
M Array umbau oder Alternative? Allgemeine Java-Themen 5
L Datentypen 3D Array Allgemeine Java-Themen 3
M 2D Array mit unterschiedlichen Längen erstellen und befüllen Allgemeine Java-Themen 11
Mario1409 Methoden JSON Array von URL Allgemeine Java-Themen 8
E Swing Array mit Bildern in GUI darstellen Allgemeine Java-Themen 2
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
H Zweidimensionales Array - Zellen der Tabelle verbinden Allgemeine Java-Themen 2
M Zweidimensionales Array mit Binärzahlen füllen Allgemeine Java-Themen 8
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
J Wie kann ich ein Java Array als Säulendiagramm ausgeben? Allgemeine Java-Themen 2
Z 2D Array Pixels reparieren Allgemeine Java-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben