In Delphi können Sie eine ARRAY-Variable folgendermaßen deklarieren:
var ArrayName : ARRAY [Start .. Ende] OF TKompTypZum Beispiel stellt var MyIntArray : Array [1..10] of Integer;ein Feld dar, das 10 Integerzahlen speichern kann. Start und Ende sind Integer-Konstanten, die den zulässigen Index-Bereich für dieses Array bestimmen. In Delphi können die Grenzen dieses Bereiches frei gewählt werden, wenn nur Start < Ende ist. Nach der obigen Beispiel-Deklaration kann ich in meinem Programm z.B. mit MyIntArray[4] auf die vierte dieser Zahlen zugreifen, und zwar sowohl lesend: Edit1.Text := IntToStr(MyIntArray[4]);als auch schreibend: MyIntArray[4] := StrToInt(Edit2.Text); |
In Java können Sie von jedem Variablen-Typ einen ARRAY-Typ ableiten, indem Sie hinter den Komponenten-Typ eine leere eckige Klammer schreiben: z.B. ist
int[]der Name eines Array-Typs, der eine lineare Reihe von Integer-Zahlen zur Verfügung stellt. Für den konkreten Umgang mit einem Array deklarieren wir eine Variable von diesem Array-Typ: int[] myIntArray = new int[10]Zunächst wird also der Typ genannt ("int[]", also ein Integer-Array), dann der Variablenname ("myIntArray"). Nach dem Zuweisungszeichen folgt das Schlüsselwort "new", gefolgt von "int[10]", womit das Array nun auf eine Größe von 10 Integer-Zahlen festgelegt wird. Der Indexbereich startet bei Java-Arrays immer bei "0" und geht im vorliegenden Fall bis "9". Nach der obigen Beispiel-Deklaration kann ich in meinem Programm z.B. mit myIntArray[4] auf die fünfte dieser Zahlen zugreifen, und zwar sowohl lesend: Edit1.Text = Integer.toString(myIntArray[4]);als auch schreibend: MyIntArray[4] = Integer.parseInt(Edit2.Text); |
in Delphi:
var palette : ARRAY [0..7] of TColor; |
in Java:
Color[] palette = new Color[8]; |
In Delphi können Sie dazu eine "StringGrid"-Komponente einsetzen. Es handelt sich hier um eine zweidimensionale Anordnung von Zellen, von denen jede eine Zeichenkette enthalten kann. Der Zugriff auf die Inhalte der Zellen geschieht über die Eigenschaft "Cells[x, y]", wobei x die Spaltennummmer und y die Zeilennummer der angesprochenen Zelle ist. Beachten Sie, dass die Nummerierung stets mit 0 beginnt! Wollen Sie z.B. den Wert von MyIntArray[4] in die 3. Spalte und die 2. Zeile des StringGrid "MyStringGrid" eintragen, dann erreichen Sie das durchMyStringGrid.Cells[2, 1] := IntToStr(MyIntArray[4]);Beachten Sie, dass ein StringGrid nur Zeichenketten enthalten kann - wie der Name schon sagt! Sie müssen also beim Bearbeiten von numerischen Werte stets entsprechende Typumwandlungs-Funktionen wie IntToStr(), StrToInt, FloatToStr() und StrToFloat() benutzen. |
In Java können Sie dazu eine "jTable"-Komponente einsetzen. Es handelt sich hier um eine zweidimensionale Anordnung von Zellen, von denen jede eine Zeichenkette enthalten kann. Der schreibende Zugriff auf die Zellen geschieht über die Methode "jTable.setValueAt(String s, int row, int col)", wobei row die Zeilennummmer und col (kurz für "column") die Spaltennummer der angesprochenen Zelle ist. Beachten Sie, dass die Nummerierung stets mit 0 beginnt! Wollen Sie z.B. den Wert von myIntArray[4] in die 3. Spalte und die 2. Zeile der jTable-Komponente "myTable" eintragen, dann erreichen Sie das durchString s = Integer.toString(myIntArray[4]); myTable.setValueAt(s, 1, 2]Zum Auslesen dient entsprechend die Lese-Methode "jTable.getValueAt(int row, int col)"; dies ist eine Funktion, die den an der Stelle (row, col) der Tabelle gespeicherten String ausliest und zurückgibt. Beachten Sie, dass eine jTable-Komponente nur Zeichenketten enthalten kann. Sie müssen also beim Bearbeiten von numerischen Werten stets entsprechende Typumwandlungs-Funktionen wie Integer.toString(), Integer.parseInt(), Double.toString(), Double.parseDouble() usw. benutzen! |
In Delphi verwenden Sie dazu die Funktion
RANDOM (m: Integer) : IntegerSie liefert Ihnen eine Integer-Zufallszahl zwischen 0 und (m-1) {einschließlich!}. Beachten Sie aber, dass die kleinste mögliche Augenzahl beim Würfeln nicht "0", sondern "1" ist! |
In Java verwenden Sie dazu die Funktion
Math.random()die Ihnen eine Float-Zufallszahl aus dem Intervall [0..1) liefert, wobei die 0 eingeschlossen ist, die 1 jedoch nicht. Mit int nzz = (int) (Math.random() * 6)können Sie daraus eine natürliche Zufallszahl (kurz: "nzz"!) aus dem Bereich |