reverse java?

2 Antworten

Von Experte JanMarcel01 bestätigt
Auch hier bin ich mir unsicher wies weitergeht...

Nun, du hast zwei Optionen:

  • erstelle ein neues Array mit der gleichen Länge, fülle es entsprechend "von hinten" und gib es zurück
  • mache alles "in place" und tausche jeweils die entsprechenden Indizes miteinander aus
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)
poppypearl 
Fragesteller
 24.03.2022, 15:59

danke für deine Hilfe :) bei meiner test zeigt es mir assertArrayEquals als Fehler an, weißt du woran das liegt?

0
xxxcyberxxx  24.03.2022, 16:03
@poppypearl

Ah, hab das komplett übersehen.

Erstens müssen die beiden Parameter für die Funktion mit Komma getrennt werden, nicht mit einer neuen Zeile. Zum anderen solltest du natürlich auch deine Funktion mit deinem Array aufrufen

0
poppypearl 
Fragesteller
 24.03.2022, 16:06
@xxxcyberxxx

oh das mit den Parametern ist natürlich logisch, ups... danke, aber ich verstehe noch immer nicht was ich anstatt assertArrayEquals schreiben muss, damit mein test funktioniert

0
xxxcyberxxx  24.03.2022, 17:32
@poppypearl
danke, aber ich verstehe noch immer nicht was ich anstatt assertArrayEquals schreiben muss, damit mein test funktioniert

Die Funktion assertArrayEquals passt schon. Du musst nur die Parameter darin anpassen.

Du übergibst der Funktion zwei Arrays und sie gibt zurück, ob diese gleich sind.

Bei dir ist jetzt also gefordert, dass deine selbst implementierte Reverse-Funktion auch tatsächlich funktioniert. Du solltest also als einen der Parameter deine eigene Funktion nutzen und als anderen Parameter entweder ein Array direkt angeben oder eine andere, bekannte Funktion, das Array rückwärts ausgeben lassen

0

Zum Beispiel so:

public static void reverse(Object[] arr){
	Object temp;
	int j=arr.length-1;
	for (int i = 0; i < j; i++){
		temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
		j--;
	}
}
poppypearl 
Fragesteller
 24.03.2022, 16:00

dankeschön :)

0