Posts

Es werden Posts vom März, 2018 angezeigt.

Zweidimensionale Arrays

Mehrdimensionale Arrays In Java kann man aber auch mehrdimensionale Arrays erstellen. Bei diesen handelt es sich um ineinander geschachtelte Arrays: Die Elemente der ersten Dimension sind Arrays, die selber wieder Arrays der zweiten Dimension enthalten usw. Jede Dimension wird durch ein Paar eckiger Klammern dargestellt.  In einem zweidimensionalen Array lassen sich zum Beispiel Daten aus einer Tabelle ablegen. Das erste Klammernpaar könnte dann z.B. für die Zeile, das zweite für die Spalte stehen. Beispiel: double [ ] [ ] tabelle = new double [ 20 ] [ 10 ] ; /* Tabelle mit Elementen vom Typ double mit 20 Zeilen und 10 Spalten */ Wertsetzung: tabelle [ 11 ] [ 3 ] = 2.74 ;     Bei der Objekt-Erzeugung eines mehrdimensionalen Arrays muss mindestens die Größe der ersten Dimension bekannt sein. Das Attribut length gibt immer die Größe der aktuellen Dimension an. Wenn sie ein Element auf unterster Ebene ansprechen wollen, dann müssen di...

Eindimensionales Array

Eindimensionale Arrays Eindimensionale Arrays (deutsch: Felder) sind im Prinzip einfache Listen. Diese Arrays werden mit einem Datentypen deklariert, d.h. alle Werte, die in diesem Array gespeichert werden sollen, müssen von demselben Datentyp sein, mit dem das Array deklariert wurde. Das Array ist nur so lang, wie es definiert wurde. Es besitzt ein festgelegtes Attribut (lenght), welches nicht überschritten werden kann. Sonst kommt es zur java.lang.ArrayIndexOutOfBoundsException . Deklaration: Datentyp [ ] Arrayname = new Datentyp [ Länge ] ; /* Syntax für die Deklaration eines Arrays */ Datentyp Arrayname [ ] = new Datentyp [ Länge ] ; /* Syntax für die Deklaration eines Arrays */ Um ein bestimmtes Element des Arrays ansprechen zu können, hat jedes Element eine Nummer, den sogenannten Index. Das erste Element bekommt den Index 0, das zweite den Index 1 usw.  Mit folgender Syntax weist man einem Element des Arrays einen Wert zu: Arrayname [ Inde...

Beispiel Stack und Queue

/**  * Das Programm soll eine bestimmte Zahlenfolge aus einer Queue auslagern  * und in einem Stack ablegen - und zwar in umgekehrter Reihnfolge. */ package trhekegmu; import java.util.Deque; import java.util.LinkedList; /**  *  * @author, GK Q1  * @date 14.03.2018  *  */ public class Trhekegmu {         private static final Deque<Integer> queue = new LinkedList<>();     /**      * @param args the command line arguments      */     public static void main(String[] args) {                 addNumber(10);         addNumber(4);         addNumber(6);         addNumber(8);         addNumber(1);         addNu...

Dynamische und Generische Datenstrukturen

Eine statische Datenstruktur behält während ihrer gesamten Lebensdauer ihre Größe bei, z.B. ein Array.  Eine Datenstruktur heißt hingegen dynamische, wenn sie während der Programmausführung wachsen oder schrumpfen kann, z.B. eine Schlange.

Das LIFO-Prinzip

Das LIFO- Prinzip (englisch L ast I n F irst O ut) beschreibt die Struktur eines Stapels (englisch stack). Das Element, das als letztes eingefügt wird, wird als erstes wieder entfernt. Ein Stapel (englisch stack) ist eine lineare Datenstruktur, die beliebig viele Objekte nach dem LIFO-Prinzip verwaltet. Das Ablegen von Objekten auf dem Stapel nennt sich push und das Entfernen von Objekten pop.

Knoten - Innere Klassen

Knoten sind innere Klassen, die den Zweck erfüllen private Objekte zu erzeugen, die von außen nicht erreichtbar sind. Innere Klassen erden innerhalb einer anderen, umschließenden Klasse deklariert. Instanzen der inneren Klasse können nur innerhalb einer Instanz der umschließenden Klasse existieren. Von der inneren Klasse aus kann auf alle privaten Methoden und Attribute der umschließenden Klasse zugegriffen werden.