Hallo, ich habe folgende Aufgabe bekommen:
Erstellen Sie eine Methode 'calcDelta', die für ein int-Array 'cases' jeweils die Differenz einer Zahl zur vorherigen berechnet und diese Differenzen wieder als int-Array zurückgibt. Die erste Zahl bleibt dabei unverändert (Delta = Zahl)
Nun habe ich folgenden Code dazu geschrieben:
Mir fällt dabei allerdings auf, dass wenn ich z.B. das Array [4, 16, 115] habe sollte hier [4, 12, 99] rauskommen.
Bei mir jedoch kommt [4, 12, 103], da beim Differenzieren der Zahl 115 mit dem Vorgänger nicht die 16 benutzt wird, sondern die 12, die ja in dem neuen Array angelegt wurde. Jetzt bin ich inzwischen leider ratlos wie ich diesen Fehler beheben kann. Kann mir von euch viellleicht jemand helfen?
Erstellen Sie eine Methode 'calcDelta', die für ein int-Array 'cases' jeweils die Differenz einer Zahl zur vorherigen berechnet und diese Differenzen wieder als int-Array zurückgibt. Die erste Zahl bleibt dabei unverändert (Delta = Zahl)
Nun habe ich folgenden Code dazu geschrieben:
Java:
public int[] calcDelta(int[] cases){
int [] arr = cases;
for (int i = 0; i < cases.length -1; i++) {
arr[i+1] = cases[i+1] - cases[i];
}
return arr;
}
Mir fällt dabei allerdings auf, dass wenn ich z.B. das Array [4, 16, 115] habe sollte hier [4, 12, 99] rauskommen.
Bei mir jedoch kommt [4, 12, 103], da beim Differenzieren der Zahl 115 mit dem Vorgänger nicht die 16 benutzt wird, sondern die 12, die ja in dem neuen Array angelegt wurde. Jetzt bin ich inzwischen leider ratlos wie ich diesen Fehler beheben kann. Kann mir von euch viellleicht jemand helfen?