17 01 01 Übungen zu Computeranwendung und Programmierung

Werbung
17 01 01
Übungen zu Computeranwendung und Programmierung
WS 10/11
Erster Kenntnisnachweis 15. - 19. November 2010
Aufgabe 1
Schreiben Sie eine Klasse Auto mit dem Konstruktor
public Auto(String marke, int preis, int kw)
und den Methoden
public String gibMarke(),
public int gibPreis() und
public int gibKw(),
die die Marke, den Preis und die Leistung (kw) zurückgeben. Schreiben Sie weiters
eine Klasse Autohaendler, die über eine Liste vorhandener Autos verfügt. Mit
dem Konstruktor
public Autohaendler(),
wird ein Autohändler ohne Autos erzeugt. Die Methode
public void addAuto(Auto einAuto)
fügt einAuto der Liste der vorhandenen Autos hinzu. Implementieren Sie auch die
folgenden Methoden:
public ArrayList<Auto> gibAutos(int wert, int leistung)
liefert eine ArrayList mit jenen Autos die einen Preis ≤ wert und eine Leistung ≥
leistung haben.
public ArrayList<Auto> gibMarke(String bestimmteMarke)
liefert eine ArrayList mit allen Autos einer bestimmten Marke zurück,
public double durchschnittspreis()
soll den Durchschnittspreis aller auf Lager befindlichen Autos zurückgeben. Die
Methode
public int zaehle(String bestimmteMarke)
soll zaehlen, wie viele Autos einer bestimmten Marke vorhanden sind und die Anzahl dieser Autos zurückgeben.
Aufgabe 2
Schreiben Sie eine Klasse Gast mit dem Konstruktor
public Gast(String name, int zimmerpreis, int anzahlTage)
und den Methoden
public int gibVerweilzeit(),
public int gibPreis() und
public String gibName(),
die die Aufenthaltszeit (anzahlTage), den Zimmerpreis und den Namen des Gastes
zurückgeben. Darüber hinaus soll diese Klasse über eine Methode
public int rechnung()
verfügen, die den zu zahlenden Betrag (=anzahlTage*zimmerpreis) für einen
Gast berechnet. Schreiben Sie weiters eine Klasse Hotel, die über eine Gästeliste
verfügt. Mit dem Konstruktor
public Hotel(),
wird ein Hotel mit leerer Gästeliste erzeugt. Die Methode
public void addGast(Gast einGast)
fügt einGast der Gästeliste hinzu, die Methode
public ArrayList<Gast> gibLangeAufenthalte(int vieleTage)
soll eine ArrayList mit jenen Gästen zurückgeben, die einen Aufenthalt von mehr
als vieleTage gebucht haben. Die Methode
public double gibDurchschnitt()
soll die durchschnittliche Aufenthaltsdauer aller Gäste des Hotels zurückgeben. Die
Methode
public int zaehleGuteGaeste(int betrag)
soll zaehlen, wie viele Gäste ein teures Zimmer (zimmerpreis > betrag) gebucht
haben und die Anzahl dieser Gäste zurückgeben.
Aufgabe 3
Schreiben Sie eine Klasse Gast mit dem Konstruktor
public Gast(String name, int zimmerpreis, int anzahlTage)
und den Methoden
public int gibVerweilzeit(),
public int gibPreis() und
public String gibName(),
die die Aufenthaltszeit (anzahlTage), den Zimmerpreis und den Namen des Gastes
zurückgeben. Darüber hinaus soll diese Klasse über eine Methode
public int rechnung()
verfügen, die den zu zahlenden Betrag (=anzahlTage*zimmerpreis) für einen
Gast berechnet. Schreiben Sie weiters eine Klasse Hotel, die über eine Gästeliste
verfügt. Mit dem Konstruktor
public Hotel(),
wird ein Hotel mit leerer Gästeliste erzeugt. Die Methode
public void addGast(Gast einGast)
fügt einGast der Gästeliste hinzu, die Methode
public double gibDurchschnitt()
soll die durchschnittliche Aufenthaltsdauer aller Gäste des Hotels zurückgeben. Die
Methode
public double rechnung(Gast einGast)
soll den zu zahlenden Betrag (=anzahlTage*zimmerpreis) für einen Gast berechnen, wobei der Zimmerpreis für einen Gast, der mehr Tage als die durchschnittliche
Aufenthaltsdauer im Hotel verbringt, um zehn Prozent vermindert ist (mit 0.9 multiplizieren)!
public ArrayList<Gast> gibKurzeAufenthalte()
soll eine ArrayList mit jenen Gästen zurückgeben, die einen Aufenthalt gebucht
haben, der höchstens so lange ist, wie die durchschnittliche Aufenthaltsdauer,
public int zaehleUeberDS()
soll zaehlen, wie viele Gäste einen Urlaub gebucht haben, der länger dauert als die
durchschnittliche Aufenthaltsdauer und die Anzahl dieser Gäste zurückgeben.
Aufgabe 4
Schreiben Sie eine Klasse Produkt mit dem Konstruktor
public Produkt(String bezeichnung, int preis, int wieviele)
und den Methoden
public String gibBezeichnung(),
public int gibWieviele() und
public void setzeWieviele(int anzahl),
die die Bezeichnung eines Produkts bzw. die Stückanzahl die von einem Produkt
auf Lager liegt, zurückgeben, sowie diese Stückanzahl neu definieren. Schreiben Sie
weiters eine Klasse Lager, die über eine Produktliste verfügt. Mit dem Konstruktor
public Lager(),
wird ein Lager mit leerer Produktliste erzeugt. Die Methode
public boolean addProdukt(Produkt einProdukt)
fügt einProdukt der Lagerliste dann hinzu, wenn einProdukt im Lager noch
nicht vorhanden ist. Der Rückgabewert ist true, wenn einProdukt hinzugefügt
werden konnte, sonst false. Die Methode
public boolean auslieferungMoeglich(String bezeichnung,
int anzahl)
soll true zurückgeben, wenn vom Produkt bezeichnung mindestens anzahl
Stück im Lager vorhanden sind, sonst false. Die Methode
public void liefereAus(String bezeichnung, int anzahl)
soll für das Produkt bezeichnung die Auslieferung durchführen, d. h. den Lagerbestand für dieses Produkt um anzahl vermindern, die Methode
public void einlagern(String bezeichnung, int anzahl)
soll für das Produkt bezeichnung den Lagerbestand um anzahl Stück erhöhen.
Die Methode
public ArrayList<Produkt> warnung(int anzahl)
soll eine Liste all jener Produkte zurückgeben, deren Bestand auf weniger als
anzahl Stück gesunken ist.
Aufgabe 5
Schreiben Sie eine Klasse Student mit dem Konstruktor
public Student(String matNr, String studienrichtung, int
noteLv1, int noteLv2)
und den Methoden
public
public
public
public
String gibMatNr(),
String gibSR(),
int gibNoteLv1() und
int gibNoteLv2(),
die die entsprechenden Attribute zurückgeben, wobei lv1 und lv2 die Noten sind,
die der Student auf die Prüfungen zweier Lehrveranstaltungen (LV1,LV2) bekommen hat. Schreiben Sie weiters eine Klasse Uebung, die über eine Übungsliste
verfügt, in die sich Studenten unter gewissen Bedingungen (siehe unten) eintragen
können. Mit dem Konstruktor
public Uebung(),
wird eine Übung mit leerer Übungsliste erzeugt. Die Methode
public boolean addStudent(Student einStudent)
fügt einStudent der Übungsliste hinzu, falls folgende Bedingungen erfüllt sind:
1. Kein Student darf öfter als einmal in der Liste vorkommen (Identifikation
=matNr).
2. Ein Student der Studienrichtung "X13" darf an diesen Übungen nur teilnehmen, wenn er die Prüfung für die LV1 positiv abgelegt hat.
3. Ein Student der Studienrichtung "Y17" darf an diesen Übungen nur teilnehmen, wenn er die Prüfung für die LV2 positiv abgelegt hat.
4. Ein Student der Studienrichtung "Z77" darf an diesen Übungen nur teilnehmen, wenn er sowohl die Prüfung für die LV1 als auch für die LV2 positiv
abgelegt hat.
5. Alle anderen Studenten dürfen auch teilnehmen, wenn sie die Bedingungen
2, 3 und 4 nicht erfüllen.
Eine Methode
public ArrayList<Student> leistungsstipendien()
soll eine Liste all jener Studenten zurückgeben, die beide Prüfungen mit Note 1
oder 2 bestanden haben.
Aufgabe 6
Schreiben Sie eine Klasse Produkt mit dem Konstruktor
public Produkt(String bezeichnung, double preis, Datum lagerDatum)
und den Methoden
public double gibPreis(),
public Datum gibDatum() und
public void setzePreis(double neuerPreis),
die den Stückpreis bzw. das Einlagerdatum für ein Produkt zurückgeben, sowie
den Preis neu setzen. lagerDatum ist dabei ein Objekt der Klasse Datum mit dem
Konstruktor
public Datum(int jahr, int monat),
sowie den Methoden
public int gibJahr() und public int gibMonat(),
die die entsprechenden Attribute zurückgeben. Des weiteren soll Datum über eine
Methode
public boolean vor(Datum date)
verfügen, die beim Aufruf date1.vor(date2) true zurckgibt, wenn date1 ein
Datum darstellt, das auf der Zeitachse vor date2 liegt! Liegt date2 vor date1
oder bezeichnen date2 und date1 dasselbe Datum, so soll diese Methode false
zurückgeben!
Schreiben Sie weiters eine Klasse Lager, die über eine Produktliste verfügt. Mit
dem Konstruktor
public Lager(),
wird ein Lager mit leerer Produktliste erzeugt. Die Methode
public void addProdukt(Produkt einProdukt)
fügt einProdukt dem Lager hinzu, die Methode
public void verminderePreis(Datum date, double prozent)
soll den Preis all jener Produkte, die früher als date angibt, eingelagert wurden,
)). Die Methode
um den Prozentsatz prozent vermindern (preis ∗ (1 − prozent
100
public ArrayList<Produkt> getAbDatum(Datum date)
soll eine Liste all jener Produkte zurückgeben, die nach jenem Zeitpunkt den date
angibt, eingelagert wurden.
Herunterladen