Ich habe eine kleines Problem und ich brauche ein bisschen hilfe.Nämlich muss ich ein array (z.B 1 2 3 4 5) umkehren mit hilfe von diesen 2 Methoden
public static int[] copySubArray
public static int[] appendToArray(int[] arr, int newValue)
Ich weiss jetzt nicht genau wie ich diese 2 Methoden verwenden kann. Ich habe es mit Google probiert und es steht dass die copySubArray einen Array erzeugt und dass dieser Array die selbe Länge hat aber der start und end von dem Array kann man ändern. Und die zweite methode erhöht die Länge by 1? Ist dass richtig, könnte mir bitte jemand dass ein bisschen mehr erklären und ein Paar Hinweisen für mein Problem geben.
Ja, die zwei Methoden (gibt es nicht und) ergeben einfach keinen Sinn. Damit kann das Array nicht umgedreht werden. Das Array würde man anders umdrehen. Z.B. könnte man wiederholt erstes und letztes Element vertauschen.
Ich habe natürlich auch etwas experimentiert, das Naheliegendste erschien mir das
Java:
publicstaticint[]copySubArray(int[] arr){for(int i =0; i < arr.length; i++){int t = arr[0];System.arraycopy(arr,1, arr,0, arr.length -1);
arr =appendToArray(arr, t);}return arr;}publicstaticint[]appendToArray(int[] arr,int newValue){
arr[arr.length -1]= newValue;return arr;}
Ja, die zwei Methoden (gibt es nicht und) ergeben einfach keinen Sinn. Damit kann das Array nicht umgedreht werden. Das Array würde man anders umdrehen. Z.B. könnte man wiederholt erstes und letztes Element vertauschen.
Ich habe natürlich auch etwas experimentiert, das Naheliegendste erschien mir das
Java:
publicstaticint[]copySubArray(int[] arr){for(int i =0; i < arr.length; i++){int t = arr[0];System.arraycopy(arr,1, arr,0, arr.length -1);
arr =appendToArray(arr, t);}return arr;}publicstaticint[]appendToArray(int[] arr,int newValue){
arr[arr.length -1]= newValue;return arr;}
Hmmm okay, eigentlich habe ich das Array umgedreht, mit reverse Array aber im Text von der Aufgabe steht dass wir diese Zwei metoden die du geschrieben hast verwenden sollen. Eigenlitch habe ich diese zwei gemeint. Also mit diesen zwei geht es nicht?
Wenn die Implementation nicht wichtig ist (also keine Uniaufgabe oder so ist), dann schau dir mal Apache.commons.lang3.ArrayUtils an. Da gibt es z.B. eine Methode swap.
Wenn die Implementation nicht wichtig ist (also keine Uniaufgabe oder so ist), dann schau dir mal Apache.commons.lang3.ArrayUtils an. Da gibt es z.B. eine Methode swap.
Ne, ich meine einfach nur ganz normale Rekursion, völlig unabhängig von irgendeiner Methode.
Was du mit den beiden Methoden copySubArray und appendToArray machen kannst ist grob gesagt, ein Element eines Arrays vorne weg nehmen und ein Element an ein Array hinten anhängen. Das musst du nur noch passend verknüpft, dann ist das Array umgedreht.
Ne, ich meine einfach nur ganz normale Rekursion, völlig unabhängig von irgendeiner Methode.
Was du mit den beiden Methoden copySubArray und appendToArray machen kannst ist grob gesagt, ein Element eines Arrays vorne weg nehmen und ein Element an ein Array hinten anhängen. Das musst du nur noch passend verknüpft, dann ist das Array umgedreht.
Hmm also soll ich die copySubArray methode verwenden um ein Elemt vorne weg zu nehmen, und ihn später mit appendToArray anhängen? Ich werde ein bisschen experimentiren und sehen was passiert. Und ja Rekursion haben wir schon ein bisschen gemacht,aber nicht viel.Es ist fur diese Woche geplannt.
Hmm also soll ich die copySubArray methode verwenden um ein Elemt vorne weg zu nehmen, und ihn später mit appendToArray anhängen? Ich werde ein bisschen experimentiren und sehen was passiert. Und ja Rekursion haben wir schon ein bisschen gemacht,aber nicht viel.Es ist fur diese Woche geplannt.
Hmm also soll ich die copySubArray methode verwenden um ein Elemt vorne weg zu nehmen, und ihn später mit appendToArray anhängen? Ich werde ein bisschen experimentiren und sehen was passiert. Und ja Rekursion haben wir schon ein bisschen gemacht,aber nicht viel.Es ist fur diese Woche geplannt.
EDIT:
Okay ich habe etwas probiert und ich komme einfach nicht weiter. Vielleicht ein Beispiel wurde mir helfen, das mit der rekursion ist mir auch neu und ich kann es mir im Kopf nicht vorstellen wie so etwas funktioniert. Also ein bisschen hilfe mit dem Code wurde echt gut sein.
Ich denke du hast es nicht verstanden, weil du hast keine Abbruchbedingung und du hast auch die beiden Mehtoden: copySubArray und appendToArray nicht in Verwendung.
Ich denke du hast es nicht verstanden, weil du hast keine Abbruchbedingung und du hast auch die beiden Mehtoden: copySubArray und appendToArray nicht in Verwendung.