Methodenprob

Status
Nicht offen für weitere Antworten.

derweise

Aktives Mitglied
Hallo. Ich habe folgende Methode:

Java:
	public boolean vergleich (char [] soundso,char [] soundso, int soundso) {
		boolean gleich;
		if (s1[i]==s2[i] ){
			gleich=true;
			i++									
				vergleich(s1 ,s2, i);			//Vergleiche nächstes Feld
		else
			gleich = false;
		
		return gleich;
	}
}

Die methode vergleicht zwei arrays auf gleichheit. die methode prüft, geht bis zum ende des array, und falls die arrays gleich sind und auch das \0 an der gleichen stelle sitzt wird gleich = true und bei debuggen sehe ich, dass es nach unten zum letzten return springt und es returnt, DOCH dann springt es wider hoch in die zeile, wo die methode wieder aufgerufen wird und verringert "i" um eins, dann springt es in die letze zeile und wieder hoch und verringert "i" wieder um eins usw... bis i 0 wird, und dann ist gleich = false. und das wird returnt???
 
Zuletzt bearbeitet:

Marco13

Top Contributor
return vergleich(s1 ,s2, i); //Vergleiche nächstes Feld

So viel Sinn macht das aber nicht, das weißt du hoffentlich...?
 

Marco13

Top Contributor
Nach dem Edit sieht es noch gefährlicher aus. Ist das ZIEL (also die Aufgabe) so eine Methode zu schreiben, oder (hab' ich das nicht schonmal gefragt?) warum nimmst du nicht eine normale Arrays.equals-Methode?
 

Marco13

Top Contributor
Naja, nochmal im Pseudocode:
Code:
vergleiche die arrays a und b mit index i
    wenn die arrays nicht gleich lang sind, gib false zurück
    wenn der index i größergleich der arraylänge ist, gibt true zurück
    wenn die arrays am index i unterschiedlich sind, gib false zurück
    gib das ergebnis des vergleichs von a und b mit index i+1 zurück
Wenn man's drauf anlegt: Ein Einzeiler :D

EDIT: Da hatte aber noch was gefehlt :oops:
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Oben