Arrays

Hat man ein große Anzahl von Variablen mit dem gleichen Datentyp kann man sie anstatt einzeln in einem Array deklarieren.
String[] haustier = {"Hund", "Katze", "Maus"};
oder
int[] zahlen = {10, 20, 30, 40};
Dabei wird der Datentyp mit einer folgenden eckigen Klammer angegeben.
Man kann das Array auch erst leer anlegen und anschließend füllen.
int[] datenliste = new int[5];
Hier wird ein Array mit Platz für 5 Integerwerten angelegt. Die Größe (Länge) des Arrays kann nachträglich nicht mehr geändert werden.
Ausgabe:
System.out.println(haustier[0]);
Bei der Zählung wird mit der Null begonnen.
Ändern
haustier[2] = "Hamster";
Länge eines Arrays
System.out.println(haustier.length);
Durchlaufen des Arrays mit einer Schleife
for (int i = 0; i < haustier.length; i++) {
System.out.println(haustier[i]); }
Maximum berechnen
static public double getMaximum(int[] w) {
double m = 0;
for (int i = 0; i < w.length; i++) {
if (w [i] > m){
m = w [i];
}
}
return m;
}
Aufgabe:
Man hat eine Liste von Messwerten: int[] messwerte= {3,4,5,2,8,4,8,7};
Programmiere eine Funktion zur
- Berechnung des Minimums.
- Berechnung der Summe
- Berechnung des Mittelwertes
- Vertauschung von 2 Elementen
public class array2 {
public static void main(String[] args) {
int[] messwerte= {3,4,5,2,13,4,5,8,4,8,7};
ausgeben(messwerte);
tausche(2,3,messwerte);
ausgeben(messwerte);
} // ende main
public static void ausgeben(int[] w) { // gibt das Array aus
for (int i = 0; i < w.length; i++) {
System.out.print(w[i]+ " ");
}
System.out.println(); // Zeilenumbruch
} // ende ausgeben
public static void tausche(int i, int j, int[] w) {
int merken = w[j]; // zwischenspeichern
w[j] = w[i]; // w[i] an die j-te Stelle schreiben
w[i] = merken; // j-tes Element an die i-te Stelle schreiben
}// ende tausche
public static int getMaximum(int[] w) {
int m = w[0]; // erst mal als Maximum annehmen
for (int i = 0; i < w.length; i++) { // Array durchlaufen
if (w [i] > m){ // sollte das aktuelle Element größer sein
m = w [i]; // Element als neues Maximum abspeichern
}// ende if
} // ende der for schleife
return m; // Maximum ausgeben
} // ende der Funktion
} // ende class