Letztes, erstes Element vom Array

inthemiddle

Mitglied
Hallo liebe Leute,

ich lerne gerade etwas wieder mit Arrays.
Nur kann ich mir schwer dieses xs[i+1] und xs[i-1] merken.

Hättet ihr eine simple Erklärung dafür und vielleicht leichte Beispiele?
 
Nur kann ich mir schwer dieses xs[i+1] und xs[i-1] merken.
Hättet ihr eine simple Erklärung dafür und vielleicht leichte Beispiele?
Eine Erklärung wofür jetzt genau?
Und was hat xs[i+1] bzw. xs[i-1] mit der Threadüberschrit "Letztes, erstes Element vom Array" zu tun?
Was genau willst du tun und wie tust du es genau bis jetzt und was ist daran eventuell falsch?
 
Ich denke das man xs[i-1] usw braucht, um vielleicht auf die letzten und ersten Elemente eines Arrays zuzugreifen, deswegen die Überschrift?
Was genau willst du tun und wie tust du es genau bis jetzt und was ist daran eventuell falsch?
ich will es verstehen. 🙂 Ich habe kein Code, ich möchte wissen, was ich darunter verstehen soll. Wenn ich es verstanden habe, könnte ich es auch anwenden. eine Aufgabe dazu habe ich nicht, deswegen habe ich um Beispiele gebeten.
 
Och danke. 🙂

Vielleicht könntest Du mir ja etwas anderes erklären. 🙂
Java:
  static long sum(int[] xs){ //berechne Summe aller Elemente im Array
   long result = 0;
   for(long x:xs) {
     result += x;
   }
    return result;
  }
  static int avg(int[] xs){ //berechne Durchschnitt
    if(xs.length==0) return 0;
    return (int)(sum(xs)/xs.length);
    
  }

wieso wird in Zeile 10 return (int).. geschrieben? Was bewirkt dieses (int) ?
 
Es ist ein Cast. Es wandelt den effektiven long Wert in einen int.

Ab diesem Punkt solltest du dir vielleicht erstmal ein Java Buch schnappen und das durcharbeiten.
 
Ich denke das man xs[i-1] usw braucht, um vielleicht auf die letzten und ersten Elemente eines Arrays zuzugreifen, deswegen die Überschrift?
Nur um das auch kurz zu erläutern:

die [] sind der Array Ausdruck (array expression) und dienen dem Zugriff auf Elemente eines Arrays. In diesen eckigen Klammern muss ein int stehen, welches angibt, welches Array Element angesprochen werden soll.

Die Elemente eines Arrays werden sozusagen durchnummeriert von 0 bis n-1, d.h. ein Array mit 3 Elemente hat die Elemente [0], [1] und [2].

Aber in den eckigen Klammern kann nun irgend ein Ausdruck stehen, der zu einem Integer ausgewertet werden kann. Dazu gehören also unter anderem:
- Variablen
- Operationen (Also z.B. das i+1 aus Deinem Post.
- Methodenaufrufe
- ...

Der Zugriff auf [i+1] bzw. [i-1] ist damit einfach ein Zugriff auf das Element nach dem Element mit index i bzw. vor dem Element mit dem Index i.
Es wird halt erst das i+1 bzw i-1 ausgewertet, damit dann auf das entsprechende Element zugegriffen werden kann.
 
Und ergänzend zu @kneitzel s Ausführung:

Das erste Element eines Arrays erhält man mit arrayName[0] und das Letzte mit arrayName[arrayName.length - 1] ("length" liefert die Länge des Arrays. Da die Nummerierung mit "0" beginnt, muss man noch 1 abziehen).
 

Zurück
Oben