493
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Ngb (Diskussion | Beiträge) |
||
| (12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{NNavigation}} | {{NNavigation}}__NOTOC__ | ||
== Objektarrays == | == Objektarrays == | ||
Arrays können nicht nur primitive Datentypen speichern, sondern auch Objekte. Jedes Element ist dann eine Referenz auf eine Objektinstanz der deklarierten Klasse. Dabei können einzelne Indizes des Arrays auch auf dasselbe Objekt referenzieren. Ein Array ist aber auf Objekte einer Klasse beschränkt, die bei der Deklaration angegeben werden muss. | Arrays können nicht nur ''primitive Datentypen'' speichern, sondern auch Objekte. Jedes Element ist dann eine Referenz auf eine Objektinstanz der deklarierten Klasse. Dabei können einzelne Indizes des Arrays auch auf dasselbe Objekt referenzieren. Ein Array ist aber auf Objekte einer Klasse beschränkt, die bei der Deklaration angegeben werden muss. | ||
<syntaxhighlight lang="Java | <syntaxhighlight lang="Java"> | ||
Random[] wuerfel = new Random[6]; | Random[] wuerfel = new Random[6]; | ||
wuerfel[4] = new Random(); | wuerfel[4] = new Random(); | ||
| Zeile 34: | Zeile 34: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Aufgabe:Start|Icon=BlueJ Logo.png}} | |||
# Erstelle einen Fork des Projekts "arrays2" und öffne es in {{BlueJ}}. | |||
# Analysiere die Methode <code>public void objectArrayExample()</code> und führe sie aus. | |||
# Implementiere die Methoden <code>public void rollAll(Wuerfel[])</code> und <code>public int diceSum(Wuerfel[])</code>. | |||
{{Aufgabe:End}} | |||
== Mehrdimensionale Arrays == | == Mehrdimensionale Arrays == | ||
| Zeile 50: | Zeile 56: | ||
=== Über ein mehrdimensionales Array iterieren === | === Über ein mehrdimensionales Array iterieren === | ||
Um über Arrays mit mehreren Dimensionen zu iterieren nutzt du mehrere Zählschleifen ineinander. | Um über Arrays mit mehreren Dimensionen zu iterieren, nutzt du mehrere Zählschleifen ineinander. | ||
<syntaxhighlight lang="Java" line="1"> | <syntaxhighlight lang="Java" line="1"> | ||
String[][] zweidim = new String[4][4]; | |||
for( int i = 0; i < | for( int i = 0; i < zweidim .length; i++ ) { | ||
String[] innerArray = zweidim [i]; | |||
for( int j = 0; j < innerArray.length; j++ ) { | if( innerArray != null ) { // Notwendig, falls inneres Array noch nicht initialisiert | ||
for( int j = 0; j < innerArray.length; j++ ) { | |||
innerArray[j] = "(" + i + "," + j + ")"; | |||
} | |||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Der Quelltext erzeugt die folgende Matrix | Der Quelltext erzeugt die folgende Tabelle/Matrix mit Strings: | ||
{| class="wikitable text-center" style="margin:0 auto;" | {| class="wikitable text-center" style="margin:0 auto;" | ||
| Zeile 69: | Zeile 77: | ||
|- | |- | ||
! 0 | ! 0 | ||
| (0,0) || (1,0) || (2,0) || (3,0) | | "(0,0)" || "(1,0)" || "(2,0)" || "(3,0)" | ||
|- | |- | ||
! 1 | ! 1 | ||
| (0,1) || (1,1) || (2,1) || (3,1) | | "(0,1)" || "(1,1)" || "(2,1)" || "(3,1)" | ||
|- | |- | ||
! 2 | ! 2 | ||
| (0,2) || (1,2) || (2,2) || (3,2) | | "(0,2)" || "(1,2)" || "(2,2)" || "(3,2)" | ||
|- | |- | ||
! 3 | ! 3 | ||
| (0,3) || (1,3) || (2,3) || (3,3) | | "(0,3)" || "(1,3)" || "(2,3)" || "(3,3)" | ||
|} | |} | ||
{{Aufgabe:Start|Icon=BlueJ Logo.png}} | |||
# Implementiere die Methoden <code>public void twoDimRoll(Wuerfel[][])</code> und <code>public int twoDimSum(Wuerfel[][])</code>. | |||
# Implementiere die Methode <code>public int[] rowSum(Wuerfel[][])</code>. | |||
{{Aufgabe:End}} | |||