• Keine Ergebnisse gefunden

3 Entwicklung von Informationssystemen

N/A
N/A
Protected

Academic year: 2021

Aktie "3 Entwicklung von Informationssystemen"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Entwicklung von Informationssystemen

3 Prof. Dr. Franz Schweiggert & René Just Wintersemester 2009/10

Übungsblatt 03

Besprechungstermin: Montag 30.11.2009

1. Aufgabe: Lagerbestand mit Verbrauchsfolgeverfahren

Nachdem Ihr das letzte Mal unterschiedliche Datenstrukturen für das Verbrauchsfolge- verfahren implementiert habt, sollt Ihr jetzt ein minimales Lager-System entwickeln, das diese Verbrauchsfolgen verwendet. Wir beschränken uns hierbei auf ein einziges

Produkt, das verwaltet wird, so dass nur Preis und Menge relevant sind.

Schreibt dazu eine Klasse uni.ulm.Lager, die folgende Methoden bereitstellt:

public void addItems(double price, int count); // Elemente zum Lager hinzufügen public double consumeItems(int count); // Elemente aus dem Lager konsumieren public int getSize(); // Anzahl Elemente im Lager

public double getValue(); // Aktueller Wert aller Elemente im Lager

Optional könnt ihr das bereitgestellte Interface uni.ulm.ILager verwenden, dass diese Methoden vorschreibt. Eure Klasse sollte auf jeden Fall zwei Argumente im Konstruktor erwarten. Zum Einen die zu verwendende Verbrauchsfolge und zum Anderen die Kapazität des Lagers. Damit das Lager nicht überläuft, sollt Ihr beim Hinzufügen von Elementen prüfen, ob genügend Rest-Kapazität vorhanden ist. Sollte dies nicht der Fall sein, soll eine IllegalArgumentException geworfen werden. Testen könnt Ihr das System mit der ebenfalls bereitgestellten Main-Klasse, die Ihr noch um etwas Funktionalität ergänzen müsst.

2. Aufgabe: Lagerdaten aus Dateien lesen

Die Mengen (mit dem entsprechenden Preis), die dem Lager hinzugefügt bzw.

entnommen werden, sollen jetzt aus einer Datei gelesen werden. Diese (bereitgestellte) Datei lager.txt beinhaltet sowohl Hinzufügen als auch Konsumieren und hat folgenden Aufbau:

Aktion (IN oder OUT) Menge Preis (nur bei Hinzufügen) Bsp.:

IN 30 12.0 IN 20 11.0 OUT 10 IN 50 10.0

Für das Einlesen der Datei bietet sich ein java.io.BufferedReader mit einem

java.io.FileReader an. Der BufferedReader kann zeilenweise einlesen und liefert einen String zurück. Für das Zerlegen des Strings könnt Ihr den java.util.StringTokenizer verwenden. Achtet darauf, dass in der Datei leere Zeilen enthalten sein können. Diese sollten beim Einlesen erkannt und ignoriert werden. Hilfe zur Verwendung dieser Klassen bieten die Java API und die Beispiele auf der Homepage.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

[r]

public void setVorname(String vorname) { this.vorname = vorname; } public int getAlter() { return alter; }. public void setAlter(int alter) { this.alter = alter;

public void setVorname(String vorname) { this.vorname = vorname; } public int getAlter() { return alter; }. public void setAlter(int alter) { this.alter = alter;

private int zahl1; // Attribut public Dings() {} // Konstruktor public void quadratBerechnen(). int ergebnis = this.zahl1

Methode kontoEroeffnen in der Klasse Bank public boolean kontoEroeffnen(int kontoNr,.

Dadurch wird die Variable nicht f ¨ur jede Instanz erneut angelegt, außerdem wird deutlich, dass es sich um eine Eigenschaft handelt, die alle Tiere dieser Art teilen.. Benutzen Sie

public void bestellKostenAusgeben1(int maxBestellanzahl, double lagerZinssatz, double bestellkosten). Beschreibe Schritt für Schritt was in dieser