Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:definition:start [09.10.2024 07:10] – alte Version wiederhergestellt (09.10.2024 07:07) Frank Schiebel | faecher:informatik:oberstufe:java:algorithmen:arrays:definition:start [09.10.2024 18:41] (aktuell) – [Vogelbeobachtung] Frank Schiebel | ||
---|---|---|---|
Zeile 47: | Zeile 47: | ||
((Java verfügt auch über Klassen, mit denen man Objektlisten und Arrays effizienter verwalten kann, fürs Erste begnügen wir uns mal mit dem Weg "zu Fuß" | ((Java verfügt auch über Klassen, mit denen man Objektlisten und Arrays effizienter verwalten kann, fürs Erste begnügen wir uns mal mit dem Weg "zu Fuß" | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | Passe das folgende [[https:// | ||
- | |||
===== Zugriff auf Array-Elemente ===== | ===== Zugriff auf Array-Elemente ===== | ||
Zeile 73: | Zeile 67: | ||
zahlen[4] = 78; | zahlen[4] = 78; | ||
</ | </ | ||
- | <callout icon="fa fa-user" color="blue" | + | |
+ | Der Zugriff auf einen Index, der außerhalb der gültigen Indizes des Arrays liegt, führt zu einer '' | ||
+ | |||
+ | ==== Alle Array-Elemente sequentiell verarbeiten | ||
+ | |||
+ | Häufig möchte man alle Elemente eines Array der Reihe nach anschauen und möglichweise etwas mit den gespeichert Werten machen, man spricht davon, dass man "über das Array iteriert". | ||
+ | |||
+ | Hier bieten sich zunächst **zwei Möglichkeiten** an: | ||
+ | |||
+ | Wenn man die volle Kontrolle haben möchte über welche Elemente des Arrays man iteriert, verwendet man am besten eine Zählschleife (for-Schleife). Bei dieser Art, die Array Elemente auszulesen, hat mal stets auch den Wert des entsprechenden Index vorliegen: | ||
+ | |||
+ | <code java> | ||
+ | char[] vowels | ||
+ | |||
+ | for (int i = 0; i < 3; i++) { | ||
+ | // Output the vowel | ||
+ | System.out.print(i + "::" + vowels[i] | ||
+ | } | ||
+ | |||
+ | // 0::a 1::e 2::i | ||
+ | </code> | ||
+ | |||
+ | Um ein Array auf diese Weise vollständig zu durchlaufen, | ||
+ | |||
+ | <code java> | ||
+ | for (int i = 0; i < meinArray.length; | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Der Umstand, dass ein Array auch eine Java-" | ||
+ | |||
+ | <code java> | ||
+ | char[] vowels = { ' | ||
+ | |||
+ | for(char vowel: vowels) { | ||
+ | // Output the vowel | ||
+ | System.out.print(vowel); | ||
+ | } | ||
+ | |||
+ | // => aeiou | ||
+ | </ | ||
+ | |||
+ | ===== Vogelbeobachtung ===== | ||
+ | ((Die Übungen zur Vogelbeobachtung sind stark an die Vorlage " | ||
+ | https:// | ||
+ | {{ : | ||
+ | Du bist ein begeisterter Vogelbeobachter und führst Buch darüber, wie viele Vögel in den letzten sieben Tagen deinen Garten besucht haben. | ||
+ | |||
+ | Die Zahl der beobachteten Vögel speicherst du in einem Array, ein befreundeter Programmierer hat dir bereits eine Codevorlage zur Verfügung gestellt, du findest sie hier: https:// | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Passe die Methode '' | ||
+ | |||
+ | ^ Vor 6 Tagen (Sa) ^ Vor 5 Tagen (So) ^ Vor 4 Tagen (Mo) ^ Vor 3 Tagen (Di) ^ Vorgestern (Mi) ^ Gestern (Do) ^ Heute (Fr) ^ | ||
+ | | 12 | 7 | ||
+ | |||
+ | Mache dir klar, dass die Methode als Rückgabetyp tatsächlich ein Array aus Zahlen festlegt. | ||
+ | |||
+ | :!: Für die weiteren Aufgaben gilt, dass das Array '' | ||
---- | ---- | ||
{{: | {{: | ||
=== (A2) === | === (A2) === | ||
- | Erweitere das Programm aus (A1) so, dass für alle Elemente des Arrays eine Zeile wie die folgende | + | |
+ | Implementiere die Methode '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | Implementiere die Methode '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Implementiere die Methode '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A5) === | ||
+ | |||
+ | An manchen Tagen ist mehr los als an anderen. Ein " | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) === | ||
+ | Erweitere das die Klasse um eine Methode '' | ||
< | < | ||
- | Das Array-Element | + | Am Tag mit dem Index 0 wurden 12 Vögel beobachtet. |
- | Das Array-Element | + | Am Tag mit dem Index 1 wurden 7 Vögel beobachtet. |
- | Das Array-Element | + | Am Tag mit dem Index 2 wurden 0 Vögel beobachtet. |
+ | [...] | ||
</ | </ | ||
- | Verwende dazu eine [[..: | + | Verwende dazu einmal |
- | </ | + | |
- | ==== Aufgabe 3 ==== | + | |
- | + | ||
- | Schreibe | + | |
- | ==== Aufgabe 4 ==== | + | ===== Dateien ===== |
- | Verändere im Schleifenkopf der for-Schleife aus Aufgabe 2 den Vergleichsoperator, | ||
- | ==== Aufgabe 5 ==== | ||
- | Erzeuge ein Array vom Datentyp String, das die Wochentage enthält. Lasse ebenfalls direkt bei der Instanziierung auf der Konsole die Länge des Arrays ausgeben. Beim Aufrufen von printArray() sollen nun auch die Wochentage ausgegeben werden. | ||
{{simplefilelist> | {{simplefilelist> |