In den Aufgaben Aufgabe 8-2 und Aufgabe 9-7 haben wir ein Programm erstellt, mit dessen Hilfe die Noten, die ein Schüler in einem Fach erzielt hat, erfasst und der entsprechende Notendurchschnitt sowie die daraus resultierende Zeugnisnote berechnet werden können. Aus Vereinfachungsgründen werden in dem Programm ausschließlich die Noten erfasst, nicht jedoch das betroffene Fach beziehungsweise der Name des jeweiligen Schülers.
Eine zusätzliche Vereinfachung war die Annahme, dass in jedem Fach stets zwei Klassenarbeiten geschrieben und eine Note für die mündliche Leistung vergeben werden. Diese Einschränkung wird nun aufgehoben. Das Programm soll nun vom Benutzer die Anzahl der Klassenarbeiten und die Anzahl der mündlichen Noten erfragen, diese anschließend erfassen und abschließend den Notendurchschnitt sowie die Zeugnisnote ausgeben.
Die Ein- und Ausgabe der Daten soll weiterhin über die Konsole erfolgen (vgl. Abb. 15-1).
Aufgaben
Informieren Sie sich mit Hilfe des folgenden Beispiels über Arrays in Java. Erstellen Sie anschließend auf Grundlage des UML-Klassendiagramms (vgl. Abb. 15-4) den Quellcode der Klasse Noten.
Lösung
Lösung
Erstellen Sie den Quellcode der Klasse Benutzerkonsole (vgl. Abb. 15-1).
Lösung
Lösung
Beispiel: Array von int-Werten
Ein Array ist ein Objekt, das eine festgelegte Anzahl von Werten eines ausgewählten Typs aufnehmen kann.
Die Positionen der in einem Array enthaltenen Elemente sind durchnummeriert. Die jeweilige Positionsnummer wird als Index bezeichnet und besitzt den Typ int. Das Element an der ersten Position erhält stets den Index 0, das an der zweiten den Index 1 usw. Den Index des Elements an der letzten Position erhält man, indem man von der Größe des Arrays 1 abzieht.
Deklaration eines Arrays
Bei der Deklaration des Arrays wird festgelegt, welchen Typ von Werten das Array aufnehmen kann.
Dazu wird dem Array ein besonderer Typ zugewiesen. Dieser besteht aus aus dem Typ der Werte, die es später aufnehmen soll, gefolgt von einem Paar eckiger Klammern []. So besitzt zum Beispiel ein Array, das int-Werte aufnehmen kann, den Typ int[].
Erzeugung eines Arrays
In Java ist ein Array ein Objekt. Dementsprechend kann es mit Hilfe des new-Operators erzeugt werden. Diesem folgt der Typ des Arrays, wobei zwischen den eckigen Klammern ein int-Wert eingefügt wird, der festgelegt, wie viele Werte das Array aufnehmen kann.
Einmal festgelegt ist die Größe eines Arrays unveränderlich.
Jedes Element eines Arrays wird mit dem Standardwert des jeweiligen Typs initialisiert. Die Elemente eines Arrays, das int-Werte aufnehmen kann, werden zum Beispiel mit 0 initialisiert.
Zugriff auf die Elemente eines Arrays
Der Zugriff auf ein Element eines Arrays erfolgt mit Hilfe seines jeweilgen Indexes. Dazu wird an den Objektnamen des Arrays ein Paar eckige Klammern angehängt und zwischen den Klammern der Index des gewünschten Elements angegeben.
Ermittlung der Größe eines Arrays
Mit Hilfe des öffentlichen Attributs length lässt sich die Größe eines Arrays ermitteln.
Aufgabe 15-2: Schülerliste
Vervollständigen Sie den Quellcode der main-Methode der Klasse Test, indem Sie die in den Kommentaren a) bis f) beschriebenen Anweisungen einfügen. Kopieren Sie dazu den (unvollständigen) Quellcode der Klasse Test (vgl. Abb. 15-11) sowie den Quellcode der Klasse Schueler in ein neues Eclipse-Projekt.
Die Frankenkurier GmbH bietet Kurierfahrten für Unternehmenskunden an. Ein Kunde erteilt dabei den Auftrag Post von einer bestimmten Adresse abzuholen und an eine Zieladresse zuzustellen. Frankenkurier erfasst den neuen Auftrag und weist diesen dem jeweiligen Kunden zu. Meldet der Kurier, dass er den Auftrag ausgeführt hat, wird der Auftrag als erledigt gekennzeichnet.
Eine gültige Adresse erfordert folgende Angaben: Straße, Hausnummer, Postleitzahl und Ort. Bei jedem Kunden sollen dessen Firma sowie alle bisher von ihm erteilten Aufträge ersichtlich sein. Ein Auftrag enthalte neben Auftraggeber, Abholadresse, Zieladresse die Information, ob der Auftrag bereits erledigt ist oder nicht.
Aufgaben
Erstellen Sie ein UML-Klassendiagramms. Gehen Sie dabei zunächst davon aus, dass jeder Kunde bis zu dreißig Aufträge erteilen kann.
Lösung
Lösung
Erstellen Sie den Quellcode der Klasse Kunde.
Lösung