Lektion 11: Arrays

In der letzten Lektion habt ihr Strings näher kennen gelernt. Strings sind im Endeffekt eine Liste von einzelnen Zeichen, die zusammengenommen einen Text ergeben. Heute betrachten wir weitere Listen, die nicht nur Zeichen beinhalten können: Die sogenannten Arrays.

Fachkonzept Array

Lest euch das Fachkonzept: Arrays durch und beantwortet folgende Fragen:

Übung 1

  1. Erstellt für die Datensätze unten jeweils eine Java-Datei mit Main-Methode nach der Vorlage rechts.
  2. Erstellt jeweils ein Array, in dem ihr die Daten des entsprechenden Datensatzes speichern könnt.
    • Wie habt ihr jeweils den Index gewählt?
    • Welche Array-Position steht für welchen Eintrag?
  3. Schreibt Code für die Ausgabe der Werte.
public class ArrayDatensatz1 {
    public static void main(String[] args) {
        // Hier wird der Array deklariert und initialisiert
        int[] daten = ...;
 
        // Hier werden die Daten gespeichert
        daten[0] = ...;
 
        // Hier werden die Daten ausgelesen
        Konsole.schreibeZeile(...);
    }
}

Datensatz 1

Erstellt ein int-Array:

Datensatz 2

Erstellt ein int-Array:

Datensatz 3

Erstellt ein double-Array, indem ihr die Werte in Millionen eintragt (z.B. 1.5 statt 1500000):

Datensätze 4, 5 & 6

Denkt euch weitere Datensätze aus, die ihr speichern könnt:

  • Einen int[]
  • Einen double[]
  • Einen String[]

Fachkonzept for-Schleife

Lest das Fachkonzept: for-Schleife durch und beantwortet folgende Fragen:

Übung 2

Passt eure Lösungen aus Übung 1 so an, dass for-Schleifen verwendet werden. Tipp: Die "Namen" der Indizes (Klassensprecherkandidaten / Monate) kann man in einem String[] speichern!

Übung 3

Kopiert den folgenden Code in eine neue Java-Datei und probiert ihn ein paar mal aus. Beantwortet die folgenden Fragen:

public class Geheimnis {
    public static void main(String[] args) {
      	// Abschnitt 1
        int laenge = Konsole.leseZahl("Wie viele Einträge? > ");        
        int[] daten = new int[laenge];
 
      	// Abschnitt 2
        for (int i = 0; i < daten.length; i += 1) {
            int datensatz = Konsole.leseZahl("Datensatz Nr. " + i + "? > ");
 
            daten[i] = datensatz;
        }
 
      	// Abschnitt 3
        double geheimnis1 = 0;        
        for (int i = 0; i < daten.length; i++) {
            geheimnis1 += daten[i];
        }
 
      	// Abschnitt 4  
        double geheimnis2 = geheimnis1 / daten.length;
 
      	// Abschnitt 5
        Konsole.schreibeZeile("Geheimnis 1 = " + geheimnis1);
        Konsole.schreibeZeile("Geheimnis 2 = " + geheimnis2);
    }
}