InfoHome | Themen | Projekte | Links | Software |
|
Mehrdimensionale Arrays - Arrays aus ArraysMehrdimensionale Arrays werden als Arrays von Arrays angelegt, indem zwei oder mehr Paare eckiger Klammern bei der Deklaration angegeben werden. Die Erzeugung erfolgt analog zu eindimensionalen Arrays durch Angabe der Anzahl der Elemente je Dimension. Ein zweidimensionales Array kann als Matrix dargestellt werden. int[][] matrix = new int[2][3]; Der Zugriff auf mehrdimensionale Arrays geschieht durch Angabe aller erforderlichen Indizes, jeweils in eckigen Klammern.
matrix[0][0] = 1;
Auch bei mehrdimensionalen Arrays können Deklaration, Erzeugung und Initialisierung in verkürzter Syntax vorgenommen werden. int[][] matrix = {{1,2,3},{4,5,6}}; Das folgende Programm erzeugt ein Array und füllt es mit (Unter-)Arrays:
public class ArrayOfArraysDemo {
Beachte, dass hier die Unter-Arrays alle von verschiedener Länge sind. Die Namen der Unter-Arrays lauten cartoons[0] , cartoons[1], usw. Auch Unter-Arrays müssen natürlich erzeugt werden. Wenn nicht wie oben die abkürzende Schreibweise benutzt wird, muss man die Erzeugung mit Hilfe des new-Operator vornehmen:
public class ArrayOfArraysDemo2 {
Aufgaben
Ein magisches Quadrat ist eine Tabelle mit n Zeilen und n Spalten, gefüllt mit
den ersten n2 natürlichen Zahlen (beginnend mit 1), wobei die Summe
der Zahlen in jeder Zeile, Spalte und Diagonale gleich ist. Schreiben Sie ein
Programm, das ein magisches Quadrat der Größe n x n erzeugt und auf dem
Bildschirm ausgibt. Gehen Sie dabei wie folgt vor:
b) Deklarieren und erzeugen Sie ein zweidimensionales int-Array der Größe n x n. c) Definieren Sie eine int-Variable zeile und initialisieren Sie diese mit dem (ganzzahligen) Wert n/2. d) Definieren Sie eine int-Variable spalte und initialisieren Sie diese mit dem (ganzzahligen) Wert n/2 + 1. e) Initialisieren Sie eine int-Variable i mit dem Wert 1 und wiederholen Sie die folgenden Schritte, solange i kleiner oder gleich n*n ist:
f) Überlegen Sie sich, wie eine geeignete Bildschirmausgabe des magischen Quadrates aussehen könnte, und realisieren Sie diese. Wir wollen nun mit Hilfe geeigneter Methoden Zeilen-, Spalten- und Diagonalensummen automatisch berechnen lassen, um die Richtigkeit des obigen Algorithmus auch für Dimensionen >=5 leicht überprüfen zu können. Ergänzen Sie Methoden zur Überprüfung der Spalten- und Diagonalensummen und wenden Sie diese auf das Quadrat an. |
© 2004-2024 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück |