FU Berlin, Institut für
Informatik
Java-Kurs WS
2000/2001
Margarita Esponda
5.
Übungsblatt
1.
Aufgabe
a) Definiere
eine Unterklasse IllegalTimeException , die die Klasse
Exception erweitert.
b) Programmiere eine Methode readTime(), die aus dem
Eingabeaufforderung-Fenster eine Zeiteingabe lesen kann. Verwende dabei deine
neu definierte
IllegalTimeException Klasse.
Behandle andere IOExceptions,
die auftreten könnten.
b) Verändere
deine Methode setTime() aus der Klasse „Time“, sodass IllegalTimeException-Objekte erzeugt
werden, wenn die übergebenen Parameter falsch sind.
2. Aufgabe ( eine weitere interessante
Aufgabe aus den MIT-Set )
c) Erzeuge
ein Inhaltsverzeichnis mit dem Namen „u5“
auf
der lokalen Platte ( D: ) und packe dort
die Datei nodeNet.zip
(siehe unsere Internet-Seite) aus.
d) Gehe in
das Verzeichnis „u5\NodeNet\demo\test“ und
starte
das Programm „nodeNet.Main“.
e) In
dieser Aufgabe soll eine Klasse „MyNodeBehavior“ definiert werden, die
folgende Schnittstelle implementiert:
public interface NodeBehavior {
public void transmitPacket (
InputChannelVector inputChannels,
OutputChannelVector
outputChannels );
}
--------------
Ein InputChanel ist etwas, aus dem man Objekte lesen kann:
public
interface IutputChannel
{
public Object readObject() throws ChanelEmptyException,
ChannelDisabledException;
}
Ein OutputChanel ist
etwas, auf dem man Objekte schreiben kann:
public interface OutputChannel
{
public void writeObject( Object o ) throws ChanelFullException,
ChannelDisabledException;
}
Eine
InputChannelVector ist eine Sammlung
von InputChanel-Objekten und stellt folgende Methoden zu Verfügung.
public final boolean isEmpty( );
/*
Returns true if the InputChannelVector is empty. */
public int size( );
/*
Returns the size of the InputChannelVector. */
public final InputChannel elementAt(
int index );
/*
Returns the InputChannel at a certain index. */
/* Note
that numbering begins at 0 */
public final InputChannel firstElement(
);
/*
Returns the first InputChannel in the InputChannelVector. */
public
InputChannel lastElement( );
/* Returns the last InputChannel in the
InputChannelVector. */
Achte darauf, dass deine
transmitPacket-Methode keine Information
verliert und dass die
Information nicht mehrfach geschrieben wird.
f) Es gibt
eine Implementierung „DefaultNodeBehavior“ im Verzeichnis
„nodeNet\demo\java\nodeNet“. Wenn du nicht weiterkommst, versuche zuerst, diese
Implementierung zu verstehen, und dann
wirst Du sicherlich viele Ideen für eine
eigene Implementierung bekommen.